【发布时间】:2015-02-04 21:54:27
【问题描述】:
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 个输入输出十进制格式,但对于最后一个,当输入正确时,它仍然输出“程序将结束”而不是小数。
编辑: 感谢大家的帮助,我已经解决了问题
【问题讨论】:
-
你应该阅读并理解基础知识,文档清楚地说明了 range 的工作原理docs.python.org/2/library/functions.html#range