首页 > 解决方案 > 获取、存储和返回多个输入 Python

问题描述

我正在尝试制作一个程序,让用户输入问题和答案,然后提示这些问题并返回答案是否正确。我猜我必须创建接受输入并将它们存储在列表中然后返回它们的函数。

我很难弄清楚如何一起检索列表中的项目。显然,我可以为每个问题和答案写出代码,但我确信这不是好的代码,如果添加更多项目,也是不切实际的。最好的方法是什么?我正在考虑创建两个列表并在出现提示时循环遍历它们,但我正在努力弄清楚语法(或者是否有更好的方法?)。

这是我到目前为止所拥有的,但我知道这是错误的。干杯。

question_list = ['What is the capital of Japan?: ', 'What is capital of US?: ']
answer_list = ['Tokyo', 'Washington DC']

def return_question():
    for question in question_list:
        input_answer = input(question).lower()
        for answer in answer_list:
            if input == answer_list:
                print('Correct')
            else:
                print('Incorrect')

标签: pythonlistloops

解决方案


我完全同意上面@GreenCloakGuy 给出的答案。但更 Pythonic 的是:

questions_and_answers = [
    ('What is the capital of Japan?', 'Tokyo'),
    ('What is the capital of the USA?', 'Washington DC'),
]

for question, answer in questions_and_answers:
    ...

为什么要将问题和答案放在单独的列表中?你保证在未来的某个时候,有人会犯编辑错误,这两个列表会不同步。您所拥有的是问题和答案列表,而不是问题列表和单独的答案列表。


推荐阅读