如何在csv文件中保持迭代行?

时间:2019-04-16 00:21:10

标签: python csv python-3.5

我已经在这个程序上工作了一段时间,但不确定如何继续产生问题。基本上我有两列问题和答案的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]:
...

1 个答案:

答案 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

希望有帮助。如果我误解了您的问题,请告诉我。