def get_integer(maximum):
x= int(input())
while x > 0 and maximum > x:
if type(x) == type(5):
return x
可以在0和参数(int
)之间解释为maximum
的输入,如果任何输入不在范围内或者不是数字,则它会循环返回。< / p>
这是我到目前为止所运行的,但是当我得到多个输入时,我得到了
ValueError: invalid literal for int() with base 10
。
答案 0 :(得分:0)
假设参数maximum
是有意义的,因为python中的整数没有大小限制,并且不需要输入文本(例如它说“在这里输入文本”)
def get_integer(maximum):
try:
inp = int(input())
except TypeError:
print("Please input an integer")
return get_integer(maximum)
except ValueError:
print("Please only enter numeric characters and no spaces")
return get_integer(maximum)
if inp >= 0 and inp <= maximum:
return inp
else:
print ("Please input a number between 0 and %d", maximum)
return get_integer(maximum)