首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Hangman代码

Python Hangman代码
EN

Stack Overflow用户
提问于 2016-11-14 14:23:08
回答 2查看 799关注 0票数 0

对于我的计算科学控制评估,我被要求用Python创建一个Hangman游戏。但是,在创建游戏时,出现了一条错误消息,它指定了代码中没有的内容。

代码语言:javascript
复制
Traceback (most recent call last):
File "Z:\Documents\hangman.py", line 40, in <module>
generated_word = random.choice(random)
 File "Q:\Pywpygam.001\Python3.2.3\lib\random.py", line 249, in choice
 i = self._randbelow(len(seq))
TypeError: object of type 'module' has no len()

我在代码中没有看到任何错误,它也没有指明出了什么问题。这是我的代码:

代码语言:javascript
复制
import time
print('Lets play hangman')
print("""
       _______
       |    |
       |    O
       |    |
       |  \- -/
       |    |
       |   / \\
       |  /   \\
   ____|____
   \n""")

print("""
you get 7 lives to guess the letters in the word. if you guess
incorrectly more of the hangman will appear and you lose a life. when you have
used your 7 lives, the man will have hung and you will have lost. If you guess a
correct letter, it will be show and if you guess the word without using the 7
turns, you win!
\n""")

easy_words = ['string', 'loop', 'python', 'print', 'run']
medium_words = ['module', 'input', 'logic', 'output']
hard_words = ['graphics window', 'variable', 'iteration', 'modules']
random_words = ['string', 'loop', 'python', 'print', 'run', 'graphics window', 'variable', 'iteration', 'modules', 'module', 'input', 'logic', 'output    ']
time.sleep(2)
print ("What level would you like to play at? Easy, Medium or Hard or Random?")
level_of_difficulty = input()
time.sleep(2)
print ("The program is now generating your word...")
if level_of_difficulty == 'Easy':
    generated_word = random.choice(easy_words)
elif level_of_difficulty == 'Medium':
    generated_word = random.choice(medium_words)
elif level_of_difficulty == 'Hard':
    generated_word = random.choice(hard_words)
elif level_of_difficulty == 'Random':
    generated_word = random.choice(random_words)
else:
    generated_word = random.choice(random_words)
guessed = ''

lives = 7


while lives > 0:

    missed = 0
    print()
    for letter in generated_word:
        if letter in guessed:
            print (letter,end=' ')
        else:
            print ('_',end=' ')
            missed = missed + 1
    if missed == 0:
        print ('\n\nYou win!')  
        quit()
        break
    guess=input("please guess a letter:")

    guessed = guessed + guess
        if guess not in generated_word:

            print ('\n that letter is not in this word, your lives have been decreased by 1.')
        print ('please try another letter.')
        lives = lives - 1 
        missed = missed + 1

        print('your new lives value is')

        print(lives)

        if lives < 7:
            print('''   _______
   |    |   ''')
            if lives < 6:
                print('   |    O    ') 
            if lives < 5:            
                print('   |    |    ')
            if lives < 4:
                print('   |  \- -/  ')
            if lives < 3: 
                print('   |    |    ')
            if lives < 2:
                print('   |   / \\  ')
            if lives < 1:
                print('   |  /   \\ ')
            if lives == 0:
             print('___|___      ')

             print('GAME OVER! You have run out of lives and lost the game')
             print('the secret word was')
             print(generated_word)
             quit()

我要做的是使生成的单词以_形式显示在窗口中,当字母猜对了时,适当的_将用字母填充。任何想法都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-14 14:30:07

我认为这些台词是错的:

代码语言:javascript
复制
generated_word = random.choice(random)

您将模块“随机”作为参数传递。我认为你应该传递变量"random_words"?

票数 0
EN

Stack Overflow用户

发布于 2016-11-14 14:40:48

我知道我做错了什么,谢谢你指出

代码语言:javascript
复制
generated_word = random.choice(random) 

bit,但我也在

代码语言:javascript
复制
while lives > 0:

    missed = 0
    print()
    for letter in generated_word:
        if letter in guessed:

我犯了一个拼写错误。谢谢大家!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40590970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档