Python 简单测验-如何链接变量?
我一直在努力找出正确答案与正确问题的匹配方法。现在,如果用户的答案与任何答案相等,则返回正确答案。请帮忙Python 简单测验-如何链接变量?,python,Python,我一直在努力找出正确答案与正确问题的匹配方法。现在,如果用户的答案与任何答案相等,则返回正确答案。请帮忙 easy_question = "The capitol of West Virginia is __1__" medium_question = "The device amplifies a signal is an __2__" hard_question = "A program takes in __3__ and produces output." easy_answer =
easy_question = "The capitol of West Virginia is __1__"
medium_question = "The device amplifies a signal is an __2__"
hard_question = "A program takes in __3__ and produces output."
easy_answer = "Charleston"
medium_answer = "amplifier"
hard_answer = "input"
questions_and_answers = {easy_question: easy_answer,
medium_question: medium_answer,
hard_question: hard_answer}
#print(easy_answer in [easy_question, easy_answer])
#print(questions_and_answers[0][1])
print('This is a quiz')
ready = input("Are you ready? Type Yes.")
while ready != "Yes":
ready = input("Type Yes.")
user_input = input("Choose a difficulty: Easy, Medium, or Hard")
def choose_difficulty(user_input):
if user_input == "Easy":
return easy_question
elif user_input == "Medium":
return medium_question
elif user_input == "Hard":
return hard_question
else:
print("Incorrect")
user_input = input("Type Easy, Medium, or Hard")
print(choose_difficulty(user_input))
answer = input("What is your answer?")
def check_answer(answer):
if answer == easy_answer:
return "Correct"
elif answer == medium_answer:
return "Correct"
elif answer == hard_answer:
return "Correct"
print(check_answer(answer))
您需要跟踪
问题
:
question = choose_difficulty(user_input)
print(question)
answer = input("What is your answer?")
def check_answer(question, answer):
if questions_and_answers[question] == answer:
return "Correct"
return "Incorrect"
print(check_answer(question, answer))
你可以做很多很酷的事情,但这只是一个可以解决你问题的小例子
编辑:
你什么时候做的
questions_and_answers = {easy_question: easy_answer,
medium_question: medium_answer,
hard_question: hard_answer}
您创建了一个字典(或Python中的dict)。看见基本上,您可以按第一个术语(问题)进行查找,然后返回第二个术语(答案)。我的方法是:创建两个变量,x和y。如果用户选择“Easy”,则将x设置为1,“Medium”将其设置为2,依此类推。然后你问他一个答案。简单问题的答案如果正确,则将y设置为1,中间设置为2,依此类推。然后检查x==y。如果是,那么他对问题的回答是正确的。除了在
check\u answer
中返回'Correct'
之外,您没有尝试返回任何东西。因为If/elif
将继续检查条件,直到某个条件为真,然后您将满足返回
条件。在check_-answer
中,您只需继续,直到找到正确的内容。这将不起作用,也无法解决原始代码的限制。这篇文章将一个问题映射到字典中的一个正确答案,而且这个问题已经有了比你提供的更全面的答案。谢谢!那么,“如果问题和回答[问题]==回答”到底在做什么?