2

抱歉标题模棱两可。想不出更好的表达方式。

我有一个德语/英语单词的 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 文件中随机选择的单词与其德语对应词进行匹配。

关于我如何处理这两个问题的任何想法?

谢谢

4

2 回答 2

2

尝试这样的事情:

import csv
import random

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

if answer == correctAnswer:
    ...

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

于 2012-05-15T17:09:53.300 回答
-1
with open(filename, 'r') as f:
    lines = [line for line in f]
    ger, correctAnswer = random.choice(lines).split(',')

我想你可以从这里拿走它:-)

于 2012-05-15T17:09:59.830 回答