我在追求什么:用户只能输入 0 或 1(总共 4 个变量)。如果用户输入例如 2、1、1、0,它应该抛出一个错误,提示 Only 0 and 1 allowed
。
到目前为止我尝试了什么:
if (firstBinary != 0 or firstBinary != 1 and secondBinary != 0
or secondBinary != 1 and thirdBinary != 0 or thirdBinary != 1
and forthBinary != 0 or forthBinary != 1):
print('Only 0 and 1 allowed')
else:
print('binary to base 10: result)
问题: 当我使用这样的语句时,即使输入示例 5,我也会得到结果,或者即使我全写 1 或 0,我也会得到“仅允许 0 和 1” .
我发现这似乎是我想要的,但它仍然没有像我想要的那样工作:
if 0 in {firstBinary, secondBinary, thirdBinary, forthBinary} or 1 in \
{firstBinary, secondBinary, thirdBinary, forthBinary}:
print("Your result for binary to Base 10: ", allBinaries)
else:
print('Only 0 and 1 allowed')
此代码基本上给出了与第一个代码示例相同的结果。
使用任何
:
v1, v2, v3, v4 = 0, 1, 1, 2
if any(x not in [0, 1] for x in [v1, v2, v3, v4]):
print "bad"
当然,如果你使用列表会更好看
inputs = [1, 1, 0 , 2]
if any(x not in [0, 1] for x in inputs):
print "bad"
我是一名优秀的程序员,十分优秀!