无法让 python 测验程序工作,当“用户答案”为“正确答案”时,如果循环不能正常工作,并声明它们不相等,即使它们是相等的。我想知道这是否是比较保存在列表中的字符串的问题,但我真的不知道该怎么做才能修复它。任何帮助将非常感激。
谢谢
import sys
print ("Game started")
questions = ["What does RAD stand for?",
"Why is RAD faster than other development methods?",
"Name one of the 3 requirements for a user friendly system",
"What is an efficient design?",
"What is the definition of a validation method?"]
answers = ["A - Random Applications Development, B - Recently Available Diskspace, C - Rapid Applications Development",
"A - Prototyping is faster than creating a finished product, B - Through the use of CASE tools, C - As end user evaluates before the dev team",
"A - Efficient design, B - Intonated design, C - Aesthetic design",
"A - One which makes best use of available facilities, B - One which allows the user to input data accurately, C - One which the end user is comfortable with",
"A - A rejection of data which occurs because input breaks predetermined criteria, B - A double entry of data to ensure it is accurate, C - An adaption to cope with a change external to the system"]
correctanswers = ["C", "B", "A", "A", "A"]
score = 0
lives = 4
z = 0
for i in range(len(questions)):
if lives > 0:
print (questions[z])
print (answers[z])
useranswer = (input("Please enter the correct answer's letter here: "))
correctanswer = correctanswers[z]
if (useranswer) is (correctanswer): //line im guessing the problem occurs on
print("Correct, well done!")
score = score + 1
else:
print("Incorrect, sorry. The correct answer was; " + correctanswer)
lives = lives - 1
print("You have, " + str(lives) + " lives remaining")
z = z + 1
else:
print("End of game, no lives remaining")
sys.exit()
print("Well done, you scored" + int(score) + "//" + int(len(questions)))