当我尝试运行这个python程序时,它表示它期望并缩进。但是,我似乎无法找出它的假设或问题所在。以下是无效的代码部分:
b = input("What number would you like to convert into Binary? ")
if str((b)) <= str((255)) and str((b))> str((0)):
convert = lambda d: bin(int(d)) [2:]
try:
print(b + " is " + convert(b) + " in Binary")
again=int(input("Would you like to converet again Yes[1] No[2]? "))
if again==(1):
a= input ("Would you like to convert Denary To Binary [1] or Binary To Denary [2]? ")
if a == ("1"):
denary_binary()
elif a == ("2"):
binary_denary()
else :
print ("Thank you for using this programm")
except ValueError:
print ("That is not a valid number. Please entre a valid number up to 255")
denary_binary()
else:
print ("That is not a valid number. Please entre a valid number up to 255")
有人可以帮我发现问题并告诉我如何修复它吗?
答案 0 :(得分:1)
就在这里:
else :
print ("Thank you for using this programm")
Python是空白敏感的。缩进块具有意义。这有一个很好的功能,鼓励你拥有更短,更少嵌套的函数/块。这样就很容易发现这些错误。
答案 1 :(得分:0)
else :
print ("Thank you for using this programm")
需要
else:
print ("Thank you for using this programm")
答案 2 :(得分:0)
您需要在print()
之后缩进else:
:
else :
print ("Thank you for using this programm")
阅读:
else:
print ("Thank you for using this programm")
如果编辑器显示“正确”缩进,则需要验证您没有混合制表符和空格。使用以下命令运行脚本:
python -tt script.py
请注意,您应该不将整数转换为字符串,然后希望将它们与其他字符串进行比较,就像它们仍然是数字一样!字符串按字典顺序进行比较,这意味着它们是逐位比较的,'90'
大于而不是'255'
,因为'9'
排序后'2'
。
改为使用int(b) <= 255
。
答案 3 :(得分:0)
你需要缩进这部分:
else :
print ("Thank you for using this programm")
像这样:
else:
print ("Thank you for using this programm")