我需要帮助在python hangman游戏中打印列表

时间:2014-01-18 15:58:00

标签: python

在第24行我不断得到语法错误,我不知道为什么,我希望列表打印并使列表中的单词添加到刽子手游戏我明白元组是不可变的所以这就是为什么我是不使用它们。如果有人协助我解决这个错误,我将非常感激。

import random
import stickman


MAX_WRONG = len(stickman.HANGMAN) - 1
MAX_TRYINGS = 7


WORDS = {
    'forest':('ANT', 'BABOON', 'BADGER', 'BAT', 'BEAR'),
    'desert':('CAMEL', 'COYOTE', 'DONKEY', 'LIZARD', 'HAWK'),
    'swamp':('FROG', 'PYTHON', 'DUCK', 'FISH', 'CROCODILE'),
    'other':('GOAT', 'GOOSE', 'MOLE', 'MOUSE', 'MONKEY')
    }


EXPLANATIONS = (
    ('There once was an animal that lived in the wild it was an', print['forest'],
     'there once was an animal that lived in a desert and it was an',print['desert'],
     'there once was an animal that lived in the swamp and it was an',print['swamp'],
     'there once was an animal that lived all around the world and it was an',print['other'])


HEADER = ('-', 'Hangman Game', 'by Mohammad AlMutairi', '-', '')

INSTRUCTION = ('A certain word has been jumbled,',
               'you are to guess the word that is jumbled', '',
               'In this game you must guess a word by a number ',
               'of finite guesses before being hanged.', '',
               'Good luck!', '')

#menu that explains the objective of the game and is for aesthetic appeal 
for line in HEADER:
    if line:
        print('{:-^60}'.format(line))
    else:
        print('\n')
#asks the user for input on their name and explains the objective of the game
name = input('Hello there! What is your name? ')
print('Welcome {}, to my python hangman game!'.format(name.capitalize()))
for line in INSTRUCTION:
    if line:
        print('{:^60}'.format(line))
    else:
        print('\n')

#menu before starting the game telling the user what to do.
print('Menu\n')
while True:
    for menu_number, group in enumerate(WORDS):
        print('{:2d} - {} animals'.format(menu_number + 1, group[0].capitalize()))
    print(' 0 - Exit')

    #Gets input from the user by what number they have chosen, than gives them hints
    try:
        selection = int(input('Your selection: '))
    except ValueError:
        print('Please enter a number, not a sign!')
        continue
    if selection == 0:
        print('Bye!\n')
        exit()
    elif 0 < selection <= len(WORDS):
        selection -= 1
        break
    print('That is not one of your choices.')

print(EXPLANATIONS[selection].format(random.choice(WORDS[selection][1])))
word = random.choice(WORDS[selection - 1][1])

MAX_WRONG = len(stickman.HANGMAN) - 1

WORDS=['forest','desert','swamp','other']

# initialize variables
word = random.choice(WORDS) # the word to be guessed

so_far = "-" * len(word) # one dash for each letter in word to be guessed

wrong = 0 # number of wrong guesses player has made

used = [] # letters already guessed

print("Welcome to Hangman. Good luck!")
while wrong < MAX_WRONG and so_far != word:
    print(stickman.HANGMAN[wrong])
    print("\nYou've used the following letters:\n", used)
    print("\nSo far, the word is:\n", so_far)

    guess = input("\n\nEnter your guess: ")
    guess = guess.upper()
    while guess in used:
        print("You've already guessed the letter", guess)
        guess = input("Enter your guess: ")
        guess = guess.upper()
    used.append(guess)

    if guess in word:
        print("\nYes!", guess, "is in the word!")
        print("Good job!",name.capitalize(),".")
    # create a new so_far to include guess
        new = ""

        for i in range(len(word)):
            if guess == word[i]:
               new += guess   
            else:
                new += so_far[i]
        so_far = new

    else:
        print("\nSorry,", guess, "isn't in the word.")
        wrong += 1

if wrong == MAX_WRONG:
    print(stickman.HANGMAN[wrong])
    print("\nSorry",name.capitalize(),"you have been hanged.")
else:
    print("\nYou guessed it!")


print("\nThe word was", word)
print('''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@'        .@@@@@@@@+      #@@@@@+      @@@@       @@@            '@@@@@@@@@@@@.       ,@@@@      @@@@@      @.            @@@           ,@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#` `         #@@@@@@        @@@@@+      +@@@       @@@            '@@@@@@@@@@#           @@@;     @@@@#`   `+@`            @@@             @@@@@@@@@@@@@@@@
@@@@@@@@@@@#,            ,@@@@@@        @@@@@+       @#@       @@@            '@@@@@@@@@@             #@@     '@@@;     @@.            @@@             '@@@@@@@@@@@@@@@
@@@@@@@@@@@@      .`      @@@@@+        #@@@@+       @@`       @@@            '@@@@@@@@@`      +      ,@@      #@@     .@@.            @@@              @@@@@@@@@@@@@@@
@@@@@@@@@@@.     #@@;    #@@@@@          @@@@+       #@        @@@     @@@@@@@@@@@@@@@@@     ,@@@      @@'`    @@@`    #@@.    `@@@@@@@@@@     @@@`     @@@@@@@@@@@@@@@
@@@@@@@@@@@     `@@@@@@@@@@@@@@          @@@@+       `@        @@@            @@@@@@@@@+    `@@@@@     @@@     @@#     @@@.            @@@     @@@      @@@@@@@@@@@@@@@
@@@@@@@@@@@     ;@@     ` #@@@+    ``    #@@@+        ;   `    @@@            @@@@@@@@@+     @@@@#     @@@.     @     :@@@.            @@@        `    #@@@@@@@@@@@@@@@
@@@@@@@@@@@     @@@       #@@@     ';     @@@+            #    @@@            @@@@@@@@@+     @@@@@     @@@@     @     @@@@.            @@@            :@@@@@@@@@@@@@@@@
@@@@@@@@@@@     '@@       #@@@     @@     @@@+    .       #    @@@            @@@@@@@@@+     @@@@@     @@@@     @     @@@@.            #@@           @@@@@@@@@@@@@@@@@@
@@@@@@@@@@@     `@@       #@@:      `     ;@@+    @      `#    @@@     @@@@@@@#@@@@@@@@+     @@@@@     @@@@:         ;@@@@.    `@@@@@@@@@@     :`     @@@@@@@@@@@@@@@@@
@@@@@@@@@@@`     @@@@@    #@@              @@+    @      '+    @@@     @@@@@@@@@@@@@@@@@     '@@@`     @@@@@         @@@@@.    `@@@@@@@@@@     #:`    .@@@@@@@@@@@@@@@@
@@@@@@@@@@@@      ;#,     #@#              #@+    @`     @#    @@@     ;;;;;;;:@@@@@@@@@      :@,`    .@@@@#`       .@@@@@.    `;;;;;;;#@@     @@     `@@@@@@@@@@@@@@@@
@@@@@@@@@@@@`             #@`              .@+    @;     @+    @@@             @@@@@@@@@#`            @@@@@@#       #@@@@@.            +@@     @@+      @@@@@@@@@@@@@@@
@@@@@@@@@@@#@            `@@     `#@@@`     @+    @@    .@+    @@@             @@@@@@@@@@;`          #@@@@@@@       @@@@@@.            +@@     @@#      @@@@@@@@@@@@@@@
@@@@@@@@@@@@@@,`        #@@@`    ;@@@@:     @+  ` @@    @@#    @@@             #@@@@@@@@@@#       ` #@@@@@@@@`     ,@@@@@@.            +@@     @@@#      @@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@++++++@@@@@@@@@@##@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
''')

2 个答案:

答案 0 :(得分:0)

你在这里缺少一个结束括号 -

EXPLANATIONS = (
    ('There once was an animal that lived in the wild it was an', print['forest'],
     'there once was an animal that lived in a desert and it was an',print['desert'],
     'there once was an animal that lived in the swamp and it was an',print['swamp'],
     'there once was an animal that lived all around the world and it was an',print['other'])

关闭它

EXPLANATIONS = (
    ('There once was an animal that lived in the wild it was an', print['forest'],
     'there once was an animal that lived in a desert and it was an',print['desert'],
     'there once was an animal that lived in the swamp and it was an',print['swamp'],
     'there once was an animal that lived all around the world and it was an',print['other']
    )
)

答案 1 :(得分:0)

EXPLANATIONS = (
    ('There once was an animal that lived in the wild it was an', print['forest'],
     'there once was an animal that lived in a desert and it was an',print['desert'],
     'there once was an animal that lived in the swamp and it was an',print['swamp'],
     'there once was an animal that lived all around the world and it was an',print['other']
    )
)

这不是有效的python代码。 print['...']?这应该怎么办?如果写得正确,你想得到什么?

>>> example = (print('forest'), print('desert'), print('swamp'))
forest
desert
swamp
>>> print(example)
(None, None, None)