【发布时间】:2016-08-04 05:00:41
【问题描述】:
我需要在 while 循环中添加验证。
但是,当我使用此验证时,它不起作用,而只会出现错误消息,当我希望它提供验证错误消息并让用户再试一次。
我不知道在 while 循环中使用它是否会使我使用的验证有所不同,是吗?
我还需要将此“def inputNumber(message):”更改为我的输入存储的内容吗?
这个“userInput = int(input(message))”我的输入存储为什么?
import time
import random
question = 0
score = 0
name = input("What is your full name?")
print ("Hello " + name, "welcome to The Arithmetic Quiz. Use integers to enter the answer!")
time.sleep(2)
operands1 = list(range(2, 12))
operators = ["+","-","x"]
operands2 = list(range(2, 12))
while question < 10:
operand1 = random.choice(operands1)
operand2 = random.choice(operands2)
operator = random.choice(operators)
def inputNumber(message):
while True:
try:
userInput = int(input(message))
except ValueError:
print("Not an integer! Try again.")
continue
else:
return userInput
break
user_answer =int(input('{} {} {} = '.format(operand1, operator, operand2)))
【问题讨论】:
-
在最后一行,我想你想做
user_answer =int(inputNumber('{} {} {} = '.format(operand1, operator, operand2))),但是却做了user_answer =int(input('{} {} {} = '.format(operand1, operator, operand2)))? -
def inputNumber(message)在循环的每次迭代中定义一个名为inputNumber的函数。你实际上并没有调用它。 -
@muhammadtahir 我现在已经改变了它,现在它可以工作了。谢谢!
标签: python validation while-loop integer