python - 从 Python 中的 CSV 文件中获取随机行并找到相应的单词,如测验

标签 python csv

抱歉标题不明确。想不出更好的表达方式。

我有一个德语/英语单词的 CSV 文件,如下所示:

Ja,Yes
Nein,No
Katze,Cat

我希望我的 python 脚本从 CSV 文件中随机打印一个德语单词,并要求他们输入英语单词。当这样做并回车时,它应该打印正确或错误。

我对代码有一些大纲:

loop = 1
choice = 0

while loop == 1:
    randWord = choice(de)

    correctAnswer = ? 

    answer = raw_input("Answer: ")

    if answer == correctAnswer:
        print ("Correct")
        print ("")
    elif answer == "exit":
        loop = 0
    elif answer != correctAnswer:
        print ("False")
        print ("The correct answer was ") + correctAnswer
        print ("Let's try another.")
        print ("")

我的问题有两个:

1) 从 CSV 文件中随机选择行和词。 2) 将 CSV 文件中随机选择的单词与其对应的德语单词进行匹配。

关于如何解决这两个问题有什么想法吗?

谢谢

最佳答案

尝试这样的事情:

import csv
import random

words = dict(csv.reader(open("file.csv")))
randWord = random.choice(words.keys())
correctAnswer = words[randWord]

if answer == correctAnswer:
    ...

编辑:我应该注意,如果您使用的是 Python 3,您应该首先将 words.keys() 转换为列表,如 dict.keys () 在 Python 2.x 中返回一个列表,但在 Python 3 中返回一个生成器。

关于python - 从 Python 中的 CSV 文件中获取随机行并找到相应的单词,如测验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10605532/

相关文章:

python - #include <Python.h> Windows 10 修复没有这样的文件或目录

python - 解析 API 响应 CSV 到列表而不写入文件

csv - 从 csv 导入文件创建 Neo4j 关系

java正则表达式删除csv中不需要的双引号

java - 使用带引号的字段内的双引号使用 OpenCSV 解析 CSV

python - 标准输入、输出和错误描述符常量是否在标准库中定义?

python - 在 Python 中做 MixIns 的优雅方法是什么?

python - 如何从亚马逊 s3 存储桶中删除文件?

python - 如何通过 Selenium 和 Python 点击​​表中的 onclick 事件

Python - 用于将某些行写入新文件的 CSV 模块