1
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和1s输入到binaryStr变量中,这些if语句也总是返回异常。有没有其他的方式来做到这一点,或有人可以帮助我吗?提前致谢。如果OR逻辑语句不能按预期工作
为什么你有'if x == 8'然后是'elif x!= 8'?显然'else'将与'if'相反。添加特定的测试只会招致麻烦。 – tadman