【发布时间】:2015-12-14 20:55:12
【问题描述】:
我正在为学校的一个项目创建一个测验,我必须使用字符串函数验证输入。但是while循环里面的while循环不起作用,为什么?
#QUESTIONS + SCORE
def Quiz():
QuestionNumber = 0
score = 0
validAnswer = False
while QuestionNumber < 10:
num1 = random.randint(1,20)
num2 = random.randint(1,20)
operator = random.choice(list(Operators.keys())) #chooses random operator from list of operators
QuestionNumber += 1
print QuestionNumber, ")", "What is", num1,operator,num2, "?"
ans = Operators.get(operator)(num1,num2)
UserAns = float(raw_input()
while validAnswer == False:
try:
UserAns = float
if UserAns == int:
validAnswer = True
else:
UserAns = float(raw_input()
except ValueError:
UserAns = float(raw_input()
return UserAns
if UserAns == ans: #compares answer of user to correct answer
score = score + 1 #adds one to the current score of user
print "Correct!"
else:
print "Incorrect!"
print ""
print "Your Score is", score,"! Well done!" #presents score to user
return(score)
【问题讨论】:
-
如果您提到这是什么语言会很有帮助...
-
语法错误只是复制/粘贴错误吗?
-
@quamrana 看起来像。此外,当您遇到错误时,您应该向我们提供回溯,以便我们帮助找出问题所在(通常它会提供一个特定的行号,让您了解问题所在)
-
另外,您在内部
while循环之后有一个多余的return UserAns。 -
告诉我们哪条线路有问题是个好主意。如果错误不在该行上,则通常只有一行。一个字符的语法错误通常被认为是 SO 题外话,因为它们只是输入错误而不是重大的编程问题。
标签: python string validation syntax