【发布时间】:2017-10-08 00:19:45
【问题描述】:
while True:
binaryStr=input('Enter binary bit pattern to be converted: ')
binaryStrLen=len(binaryStr)
if binaryStrLen == 8:
pass
elif binaryStrLen != 8:
raise Exception('Bit pattern must be 8 values long!')
binaryStrList=list(binaryStr)
for i in range(8):
if int(binaryStrList[i]) != 0 or int(binaryStrList[i]) != 1:
print(binaryStrList[i])
raise Exception('Non base-2 value entered!')
elif int(binaryStrList[i]) == 0 or int(binaryStrList[i]) == 1:
print(binaryStrList[i])
pass
更具体地说,在 for 循环中,即使将 0 和 1 输入到 binaryStr 变量中,这些 if 语句也总是返回异常。有没有其他方法可以做到这一点,或者有人可以帮助我吗?提前致谢。
【问题讨论】:
-
为什么你有一个
if x == 8,然后是一个elif x != 8?显然else将与if相反。在那里添加特定的测试只会招来麻烦。
标签: python python-3.x