如何在 csv 文件中保持迭代行?
How to keep iterating rows in a csv file?
我已经在这个程序上工作了一段时间,但不确定如何继续生成问题。基本上我有两列问题和答案的 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]:
...
我不确定我是否完全理解该程序试图完成的任务。如果您希望他们回答问题,直到他们输入特定的关键字作为突破口,例如 "quit",这应该可行。
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
希望对您有所帮助。如果我误解了你的问题,请告诉我。
我已经在这个程序上工作了一段时间,但不确定如何继续生成问题。基本上我有两列问题和答案的 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]:
...
我不确定我是否完全理解该程序试图完成的任务。如果您希望他们回答问题,直到他们输入特定的关键字作为突破口,例如 "quit",这应该可行。
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
希望对您有所帮助。如果我误解了你的问题,请告诉我。