我正在嘗試制作一個程式,讓用戶輸入問題和答案,然后提示這些問題并回傳答案是否正確。我猜我必須創建接收輸入并將它們存盤在串列中然后回傳它們的函式。
我很難弄清楚如何一起檢索串列中的專案。我顯然可以為每個問題和答案寫出代碼,但我確信這不是好的代碼,如果添加更多專案是不切實際的。什么是最好的方法來做到這一點?我正在考慮創建兩個串列并在出現提示時回圈遍歷它們,但我正在努力弄清楚語法(或者是否有更好的方法?)。
到目前為止,這是我所擁有的,但我知道這是錯誤的。干杯。
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')
uj5u.com熱心網友回復:
使用zip通過成對的問題和答案進行迭代。
>>> question_list = ['What is the capital of Japan?: ', 'What is capital of US?: ']
>>> answer_list = ['Tokyo', 'Washington DC']
>>> def ask_questions():
... for q, a in zip(question_list, answer_list):
... answer = input(q)
... if a.lower() == answer.lower():
... print('Correct')
... else:
... print('Incorrect')
...
>>> ask_questions()
What is the capital of Japan?: TOKYO
Correct
What is capital of US?: BRANSON
Incorrect
uj5u.com熱心網友回復:
我完全同意上面@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:
...
為什么要將問題和答案放在不同的串列中?你保證在未來的某個時候,有人會犯編輯錯誤,兩個串列將不同步。您擁有的是問題和答案串列,而不是問題串列和單獨的答案串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350202.html
上一篇:以下功能的想法?
