-1

Python でいくつかの簡単なフラッシュカードをコーディングしようとしています (まだ学習中です!)。

テキスト ファイルを読み取り、2 つのリスト (キーワードと定義) に分割し、ランダムなキーワード ( chosenKeyword) を見つけて、キーワード リストからキーワードとそのインデックス値の両方を返すことができますが、そのインデックス値を使用しようとすると (これは2番目のリストでもまったく同じで、同時に1行ずつ読み込んでいます)定義リストに一致させるためにValueError、アイテムがリストにないことを教えてくれます(手動でチェックしたときです)。問題は私のpossibleAnswers機能にありますが、それが何であるかを理解することはできません.

# declare an empty list for answers
answers = []

if keyword.index(chosenKey) == define.index(chosenKey):
    answers.append()
else:
    pass


# find the matching definition for the keyword and add to the answer list

wrongAnswers = random.sample(define,2)
while define.index(chosenKey) != wrongAnswers:
    answers.append(wrongAnswers)
    print(answers)
4

2 に答える 2

1

list.index()リスト内の特定ののインデックスを返します。

>>> ['spam', 'ham', 'eggs'].index('ham')
1

ValueErrorしかし、アイテムがリストに見つからない場合はa を発生させます:

>>> ['spam', 'ham', 'eggs'].index('monty')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'monty' is not in list

代わりにインデックスがある場合は、リストでインデックスを使用します。

>>> ['spam', 'ham', 'eggs'][1]
'ham'

2 つのリストの要素をペアにしたい場合は、代わりに次のzip()関数を使用します。

for kw, definition in zip(keyword, define):
    if kw == definition:
        # the values match at the same index.
于 2013-10-28T22:36:45.817 に答える