このコードは、私のバージョンの python と一致していないように見える本の助けを借りてまとめました。部分的に機能しています。
if ステートメントで既に定義しているのに、guessed_letter が定義されていないなどのエラーが発生します。助けてください! Noob Alert.
インポートランダム
ライフ = 9
words = ['walk', 'trial', 'books', 'trick', 'brick', 'gloss', 'banks', 'notes',
「投票」、「レート」]
secret_word = random.choice(単語)
ヒント = ('_ _ _ _ ')
heart_symbol = u'\u2764'
guessed_word_correct = False
def update_hint (guessed_letter, secret_word, ヒント):
インデックス = 0
while index 0:
印刷(ヒント)
print('Lives over:' + heart_symbol * lives)
guess = input("文字または単語を当ててください: ")
推測 == secret_word の場合:
guessed_word_correct = 真
raise Exception('単語は正しい')
secret_word で推測する場合:
update_hint(推測、秘密の言葉、ヒント)
そうしないと:
print('違います。ハートが一つ減りました')
命 = 命 - 1
推測された単語が正しい場合:
print('勝った!! だった' + secret_word)
そうしないと:
print('次回は良い' + secret_word)
あなたのコードには、インデントと編成の両方に関して、かなりの問題があります。コメントはそれらの多くを説明しています。これは、あなたがやりたいことを実際に行うコードのバージョンです。
インポートランダム
words = ['walk', 'trial', 'books', 'trick', 'brick', 'gloss', 'banks', 'notes',
「投票」、「レート」]
secret_word = random.choice(単語)
ヒント = リスト ('_____'[:len(secret_word)])
heart_symbol = u'\u2764'
def update_hint (guessed_letter, secret_word, ヒント):
範囲内のインデックス (len(secret_word)):
推測された文字 == 秘密の単語 [インデックス] の場合:
ヒント [インデックス] = 推測文字
#print(secret_word)
デフプレイ():
ライフ = 9
生きている間 > 0:
print(''.join(ヒント))
print('Lives over:' + heart_symbol * lives)
guess = input("文字または単語を当ててください: ")
推測 == secret_word の場合:
guessed_word_correct = 真
真を返す
secret_word で推測する場合:
update_hint(推測、秘密の言葉、ヒント)
そうしないと:
print('違います。ハートが一つ減りました')
命 = 命 - 1
偽を返す
プレイする場合():
print('勝った!!でした', secret_word)
そうしないと:
print('次回は良い', secret_word)