1
print("Welcome to Hangman! Guess the mystery word with less than 6 mistakes!")

words= ['utopian','fairy','tree','monday','blue'] 

i=int(input("Please enter a number (0<=number<10) to choose the word in the list: "))

if(words[i]):
    print("The length of the word is: " , len(words[i]))




guesses=0

while guesses<6:
    guess=input("Please enter the letter you guess: ")


    if(guess in words[i]):
        print("The letter is in the word.")


    else:
        print("The letter is not in the word.")
        guesses=guesses+1

    if guesses==6:

        print("Failure. The word was:" , words[i])

謎の単語で推測した文字の位置を見つけるのに問題があります。謎の単語で正しく推測された文字を示す出力が必要です。元。謎の言葉は青色。ユーザーは「b」を入力します。出力は次のとおりです。「文字は単語の中にあります。一致した文字: b___」

4

3 に答える 3

0

上記のコードは機能しますが、選択する単語のリストに 5 つの項目しかないため、5 より大きい数値を入力するとエラーが発生する可能性があるため、リストに他の単語をいくつか入れましたが、入力のある行も削除しましたユーザーが発見する単語に関連するアイテムの番号を数字で入力するよう求められる関数。だから:ランダムモジュールをインポートしました。
入力コードを削除しました。
random.sample 関数を使用して、発見する単語を保存しました (12 行目)。
発見する単語のラベルとして、words[i] を samplecode[0] に置き換えました。
文字数をより明確にするために、word.append('_ ') のアンダースコアの後にスペースを追加しました ( _ _ _ _ ではなく _____ )。

import random

print("Welcome to Hangman! Guess the word in less than 6 try.")

words= ['utopian','fairy','tree','monday','blue',
            'winner','chosen','magician','european',
        'basilar','fonsaken','butter','butterfly',
        'flipper','seaside','meaning','gorgeous',
        'thunder','keyboard','pilgrim','housewife'
        ]

sampleword = random.sample(words,1)

if(sampleword[0]):
    print("The length of the word is: " , len(sampleword[0]))

guesses=0
letters_guessed = []
word = []
for x in range(len(sampleword[0])):
    word.append('_ ')

while guesses < 6:
    guess=input("Please enter the letter you guess: ")

    if(guess in sampleword[0]):
        print("The letter is in the word.")
        for index, letter in enumerate(sampleword[0]):
            if letter == guess:
                word[index] = guess
        letters_guessed.append(guess)

    else:
        print("The letter is not in the word.")
        guesses=guesses+1
        letters_guessed.append(guess)

    print("you have guessed these letters: %s"%(''.join(letters_guessed)))
    print("Letters matched so far %s"%''.join(word))
    print()

    if ''.join(word) == sampleword[0]:
        break

if guesses==6:
    print("Failure. The word was:" , sampleword[0])
else:
    print("YOU'VE WON!! Great Job!")
    print("You only made %i wrong guesses"%guesses)
于 2015-08-10T11:30:12.710 に答える