作为一个更大的菜单驱动程序的一部分,我想测试的用户输入,查看是否该输入: 是整数 AND 如果它是一个整数,如果它在1到12的范围内,包括。检查用户输入,看它是否满足两个条件
number = 0
while True:
try:
number = int(input("Enter a whole number between 1 and 12 >>> "))
except ValueError:
print("Invlaid input, please try again >>> ")
continue
else:
if not (1<= number <=12):
print("Need a whole number in range 1-12 >>> ")
continue
else:
print("You selected:",number)
break
我使用Python 3.4.3,并想知道如果有一个更简洁(更少的线,更好的性能,更“Python化”,例如)的方式来实现这一目标?提前致谢。
请注意'int'会愉快地截断小数值。所以,如果你输入'3.6',这个代码将接受它(如'3')。 – smarx
因为我相信3.6会被视为“输入无效...”。 – marshki
@smarx,'int(“3.6”)'将会是一个ValueError,你需要将其转换为float,然后转换为int。 –