0
Graphics=['''
------------
|         |''','''


------------
|         |         
|          O''','''


------------
|         | 
|          O 
|         / |''','''

------------
|         | 
|          O 
|         / | 
|          | ''','''


------------
|         |
|          O 
|         / |
|          |
|         / | 
|
|            ''']


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

        guessed=''
        guessed = guessed+guess[0]


        if(guess in words[i]):
            print("The letter is in the word.")
            print(''.join(c if c in guessed else '_' for c in words[i]))


        else:
            print("The letter is not in the word.")
            guesses=guesses+1
            print("Letters matched so far:" ,''.join(c if c in guessed else '_' for c in words[i]))

        if guesses==6:
            print("Failure. The word was:" , words[i])

        else:
            print("You found the word!")

私の Python での Hangman プログラムの最後の問題です。血まみれのグラフィックスを取り入れることです。Python の若い経験から ASCII アートを扱ったことがないので、これは私にとって最も困難な部分です。これらのグラフィックスをプログラムのどこに配置すればよいですか? elseステートメントの下?

4

2 に答える 2

0

リスト内の要素というよりは、ASCII アートとは考えないでくださいGraphics。必要なグラフィックにアクセスするには、インデックスを使用する必要があります。これを行う1つの方法は、失敗した推測を追跡し、失敗した推測ごとに単純に次のことを行うことです。

print(Graphics[failed_guess])

ただし、すでに推測の数を追跡しており、失敗した試行でそれらをインクリメントしているので、それを使用します。

print(Graphics[guesses])

最後に、リストに大文字を使用することは一般的ではありません。通常、人々はクラス名に大文字を使用しますが、その理由は後で明らかになるでしょう。これはその 1 つです。一般的な慣行に従う習慣を身につけてください。

于 2013-10-24T22:50:52.007 に答える
0

はい、あなたは正しいです。プレーヤーが間違った推測をした場合、グラフィックが表示されます。これは最初のelseブロックでチェックされます。そのため、そのブロックにグラフィックを印刷するコードを配置する必要があります。

グラフィックの表示についてさらにヘルプが必要ですか?

于 2013-10-24T22:47:08.343 に答える