我让用户输入一个整数。如果他们不这样做,我想告诉他们他们的错误,并要求他们提供不同的意见。
这是我到目前为止所做的:
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
我输入的任何非整数都会发生这种情况。不确定我做错了什么。
答案 0 :(得分:1)
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()
类似的东西,但是有些人会对这种风格不屑一顾。