以下のプログラムは単語をリストに入れるべきです。それが動作するためのテストは 'print(allwords [1])'です。面白いのは、底部が機能することですが、私が上部を使用するときはそうではありません。リストは明らかに空のままです。私は何をやっているのですか?2つの非常によく似たobject.extend()のコードは、リストを埋めるために、1つは働きません
# DOES NOT WORK
print ('On what difficulty do you want to play?\n')
diffculty = input('1.Easy\n2.Medium\n3.Hard\n\n')
if diffculty == 1 or input == 'Easy' or input == 'easy' or input == 'EASY':
with open('google-10000-english-usa-no-swears-short.txt') as inputfile:
for line in inputfile:
allwords.extend(line.strip().split(','))
elif diffculty == 2 or input == 'Medium' or input == 'medium' or input == 'MEDIUM':
with open('google-10000-english-usa-no-swears-medium.txt') as inputfile:
for line in inputfile:
allwords.extend(line.strip().split(','))
elif diffculty == 3 or input == 'Hard' or input == 'hard' or input == 'HARD':
with open('google-10000-english-usa-no-swears-long.txt') as inputfile:
for line in inputfile:
allwords.extend(line.strip().split(','))
# WORKS
print ('Okay then, let us begin with your first word.\n')
with open('google-10000-english-usa-no-swears-long.txt') as inputfile:
for line in inputfile:
allwords.extend(line.strip().split(','))
print (allwords[1])
問題は実際にはIF-ステートメントでした。私は2つの変更を加えましたが、今は動作します。 1. if文で文字列番号( '1')を確認しました 2. if変数を修正しました(すべてdiffcultyにする必要があります) ありがとうございました!
if文を実行したコードは実行されますか?テストのためにそこに何かを印刷してみましたか? –
それは非常に良い質問です。私はちょうどチェックした(それぞれ1,2,3の後にプリントを置く)。しかし、真剣に、彼らはなぜですか? –
各if文の最初の比較が間違っています。あなたは文字列をintと比較しようとします –