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。您将需要使用索引来访问所需的图形。一种方法是跟踪失败的猜测,然后在每次失败的猜测中简单地执行:

print(Graphics[failed_guess])

但是,您已经在跟踪猜测的数量并在尝试失败时增加它们,所以我只使用它:

print(Graphics[guesses])

最后,用大写字母命名列表并不常见。通常人们为类名保留大写字母,这样做的原因稍后可能会说得通。这就是其中之一,养成遵循常见做法的习惯,以后你会很高兴你这样做了。

于 2013-10-24T22:50:52.007 回答
0

是的你是对的。如果玩家猜错了,应该显示图形。这是在第一个else块中检查的。因此,您必须在该块中放置代码以打印图形。

您在显示图形方面需要更多帮助吗?

于 2013-10-24T22:47:08.343 回答