2

あいまいなタイトルで申し訳ありません。それを表現するためのより良い方法を考えることができませんでした。

次のようなドイツ語/英語の単語のCSVファイルがあります。

Ja,Yes
Nein,No
Katze,Cat

Python スクリプトで、CSV ファイルからランダムなドイツ語の単語を出力し、英語の単語を入力するように求めます。do so とヒット リターンが返されると、正しいまたは false が出力されます。

コードの概要は次のとおりです。

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 ("")

私の問題は2つあります:

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 に答える