Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 简单测验-如何链接变量?_Python - Fatal编程技术网

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
中,您只需继续,直到找到正确的内容。这将不起作用,也无法解决原始代码的限制。这篇文章将一个问题映射到字典中的一个正确答案,而且这个问题已经有了比你提供的更全面的答案。谢谢!那么,“如果问题和回答[问题]==回答”到底在做什么?