Skip to main content
 首页 » 编程设计

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

2025年05月04日10jillzhang

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

我有一个德语/英语单词的 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 中返回一个生成器。