对于范围内的 x,不接受最后一个输入


new = 0
binary=input ("Enter binary:")
length = len(binary)
for x in range (0,3):
    if length<9 and all (c in "01" for c in binary):
        for digits in binary:
            new = new*2 + int(digits)
        print ("The binary numbers {0} converted into decimal is {1}".format(binary,new))
        break
    else:
        binary=input ("Try again. Enter binary (max. 8):")
print ("The programme will end")

代码运行良好,输出前 3 个输入的十进制格式,但对于最后一个输入,当输入正确时,它仍然输出"程序将结束"而不是小数。

编辑:感谢您的所有帮助,我已经解决了问题

....对于最初的 3 个输入,但对于最后一个输入

我在您的代码中看到以下循环

for x in range (0,3):

请注意,函数range是"半开放"的,这意味着它包含第一个值,但不包含最后一个值。换句话说,x将承担这些价值观

0
1
2

如果还想包含所需的值3

for x in range (0,4):

最新更新