我已经在这个程序上工作了一段时间,但不确定如何继续产生问题。基本上我有两列问题和答案的csv。我正在尝试创建一个读取csv并选择一个随机行的程序。该行具有问题和相应的答案。它应该问用户一个问题并等待响应。响应后,它应该问另一个问题,直到用户键入会破坏它的内容。这就是我遇到的麻烦,因为我只能让它在结束之前问一个问题。
这是我到目前为止所拥有的:
import csv
import random
text = {r[0]: r[1] for r in csv.reader(open('QandA.csv'))}
question = random.choice(list(text.keys()))
correctAnswers = 1
questionsAsked = 1
successful = False
isBreak = False
while not successful or isBreak:
user_input = input(f"{question} ").format(question)
if user_input == text[question]:
...
答案 0 :(得分:1)
我不确定我是否完全了解该程序要完成的工作。如果您希望他们回答问题,直到他们输入要退出的特定关键字(如“退出”),这应该可以解决。
import csv
import random
text = {r[0]: r[1] for r in csv.reader(open('QandA.csv'))}
questions = list(text.keys())
question = random.choice(questions)
correctAnswers = 0
questionsAsked = 0
while True:
questionsAsked += 1
user_input = input(f"{question} ").format(question)
if user_input.strip().lower() == "quit": break
elif user_input == text[question]: correctAnswers += 1
else: pass #do something here for incorrect answer
question = random.choice(questions) #get new question
希望有帮助。如果我误解了您的问题,请告诉我。