在此程序中找到预期的缩进

时间:2014-01-30 17:48:04

标签: python

当我尝试运行这个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")

有人可以帮我发现问题并告诉我如何修复它吗?

4 个答案:

答案 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")