我让用户输入一个整数。如果他们不这样做,我想告诉他们他们的错误,并要求他们提供不同的输入。
这就是我到目前为止所知道的:
while (float(dimension) % int(dimension)) > 0:
prompt = "That number won't work. Please enter an integer between 3-9"
prompt += "\n>>>"
dimension = input(prompt)每次我运行它,假设要测试它,我输入数字5.1。这是我在响应中得到的错误:
ValueError: invalid literal for int() with base 10: 5.1我输入的任何非整数都会发生这种情况。不知道我做错了什么。
发布于 2016-05-06 10:52:21
EAFP (请求宽恕比请求许可更容易):
dimension = None
while dimension is None:
try:
dimension = int(input(">>>"))
except ValueError:
print("That number won't work. Please enter an integer.")对于3-9,你需要额外的逻辑;我可能会把它写成if dimension < 3 or dimension > 9: raise ValueError()风格的东西,但是有些人会不喜欢这种风格。
https://stackoverflow.com/questions/37063414
复制相似问题