Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- hangman_art.py
- stages = ['''
- +---+
- | |
- O |
- /|\ |
- / \ |
- |
- =========
- ''', '''
- +---+
- | |
- O |
- /|\ |
- / |
- |
- =========
- ''', '''
- +---+
- | |
- O |
- /|\ |
- |
- |
- =========
- ''', '''
- +---+
- | |
- O |
- /| |
- |
- |
- =========''', '''
- +---+
- | |
- O |
- | |
- |
- |
- =========
- ''', '''
- +---+
- | |
- O |
- |
- |
- |
- =========
- ''', '''
- +---+
- | |
- |
- |
- |
- |
- =========
- ''']
- logo = '''
- _
- | |
- | |__ __ _ _ __ __ _ _ __ ___ __ _ _ __
- | '_ \ / _` | '_ \ / _` | '_ ` _ \ / _` | '_ \
- | | | | (_| | | | | (_| | | | | | | (_| | | | |
- |_| |_|\__,_|_| |_|\__, |_| |_| |_|\__,_|_| |_|
- __/ |
- |___/ '''
- hangman_words.py
- word_list = [
- 'abruptly',
- 'absurd',
- 'abyss',
- 'affix',
- 'askew',
- 'avenue',
- 'awkward',
- 'axiom',
- 'azure',
- 'bagpipes',
- 'bandwagon',
- 'banjo',
- 'bayou',
- 'beekeeper',
- 'bikini',
- 'blitz',
- 'blizzard',
- 'boggle',
- 'bookworm',
- 'boxcar',
- 'boxful',
- 'buckaroo',
- 'buffalo',
- 'buffoon',
- 'buxom',
- 'buzzard',
- 'buzzing',
- 'buzzwords',
- 'caliph',
- 'cobweb',
- 'cockiness',
- 'croquet',
- 'crypt',
- 'curacao',
- 'cycle',
- 'daiquiri',
- 'dirndl',
- 'disavow',
- 'dizzying',
- 'duplex',
- 'dwarves',
- 'embezzle',
- 'equip',
- 'espionage',
- 'euouae',
- 'exodus',
- 'faking',
- 'fishhook',
- 'fixable',
- 'fjord',
- 'flapjack',
- 'flopping',
- 'fluffiness',
- 'flyby',
- 'foxglove',
- 'frazzled',
- 'frizzled',
- 'fuchsia',
- 'funny',
- 'gabby',
- 'galaxy',
- 'galvanize',
- 'gazebo',
- 'giaour',
- 'gizmo',
- 'glowworm',
- 'glyph',
- 'gnarly',
- 'gnostic',
- 'gossip',
- 'grogginess',
- 'haiku',
- 'haphazard',
- 'hyphen',
- 'iatrogenic',
- 'icebox',
- 'injury',
- 'ivory',
- 'ivy',
- 'jackpot',
- 'jaundice',
- 'jawbreaker',
- 'jaywalk',
- 'jazziest',
- 'jazzy',
- 'jelly',
- 'jigsaw',
- 'jinx',
- 'jiujitsu',
- 'jockey',
- 'jogging',
- 'joking',
- 'jovial',
- 'joyful',
- 'juicy',
- 'jukebox',
- 'jumbo',
- 'kayak',
- 'kazoo',
- 'keyhole',
- 'khaki',
- 'kilobyte',
- 'kiosk',
- 'kitsch',
- 'kiwifruit',
- 'klutz',
- 'knapsack',
- 'larynx',
- 'lengths',
- 'lucky',
- 'luxury',
- 'lymph',
- 'marquis',
- 'matrix',
- 'megahertz',
- 'microwave',
- 'mnemonic',
- 'mystify',
- 'naphtha',
- 'nightclub',
- 'nowadays',
- 'numbskull',
- 'nymph',
- 'onyx',
- 'ovary',
- 'oxidize',
- 'oxygen',
- 'pajama',
- 'peekaboo',
- 'phlegm',
- 'pixel',
- 'pizazz',
- 'pneumonia',
- 'polka',
- 'pshaw',
- 'psyche',
- 'puppy',
- 'puzzling',
- 'quartz',
- 'queue',
- 'quips',
- 'quixotic',
- 'quiz',
- 'quizzes',
- 'quorum',
- 'razzmatazz',
- 'rhubarb',
- 'rhythm',
- 'rickshaw',
- 'schnapps',
- 'scratch',
- 'shiv',
- 'snazzy',
- 'sphinx',
- 'spritz',
- 'squawk',
- 'staff',
- 'strength',
- 'strengths',
- 'stretch',
- 'stronghold',
- 'stymied',
- 'subway',
- 'swivel',
- 'syndrome',
- 'thriftless',
- 'thumbscrew',
- 'topaz',
- 'transcript',
- 'transgress',
- 'transplant',
- 'triphthong',
- 'twelfth',
- 'twelfths',
- 'unknown',
- 'unworthy',
- 'unzip',
- 'uptown',
- 'vaporize',
- 'vixen',
- 'vodka',
- 'voodoo',
- 'vortex',
- 'voyeurism',
- 'walkway',
- 'waltz',
- 'wave',
- 'wavy',
- 'waxy',
- 'wellspring',
- 'wheezy',
- 'whiskey',
- 'whizzing',
- 'whomever',
- 'wimpy',
- 'witchcraft',
- 'wizard',
- 'woozy',
- 'wristwatch',
- 'wyvern',
- 'xylophone',
- 'yachtsman',
- 'yippee',
- 'yoked',
- 'youthful',
- 'yummy',
- 'zephyr',
- 'zigzag',
- 'zigzagging',
- 'zilch',
- 'zipper',
- 'zodiac',
- 'zombie',
- ]
- main.py
- #Step 5
- import random
- #TODO-1: - Update the word list to use the 'word_list' from hangman_words.py
- #Delete this line: word_list = ["ardvark", "baboon", "camel"]
- from hangman_words import word_list
- chosen_word = random.choice(word_list)
- word_length = len(chosen_word)
- end_of_game = False
- lives = 6
- #TODO-3: - Import the logo from hangman_art.py and print it at the start of the game.
- from hangman_art import logo
- print(logo)
- #Testing code
- print(f'Pssst, the solution is {chosen_word}.')
- #Create blanks
- display = []
- for _ in range(word_length):
- display += "_"
- while not end_of_game:
- guess = input("Guess a letter: ").lower()
- #TODO-4: - If the user has entered a letter they've already guessed, print the letter and let them know.
- if guess in display:
- print(f"You've already guessed {guess}")
- #Check guessed letter
- for position in range(word_length):
- letter = chosen_word[position]
- #print(f"Current position: {position}\n Current letter: {letter}\n Guessed letter: {guess}")
- if letter == guess:
- display[position] = letter
- #Check if user is wrong.
- if guess not in chosen_word:
- #TODO-5: - If the letter is not in the chosen_word, print out the letter and let them know it's not in the word.
- print(f"You guessed {guess}, that's not in the word. You lose a life.")
- lives -= 1
- if lives == 0:
- end_of_game = True
- print("You lose.")
- #Join all the elements in the list and turn it into a String.
- print(f"{' '.join(display)}")
- #Check if user has got all letters.
- if "_" not in display:
- end_of_game = True
- print("You win.")
- #TODO-2: - Import the stages from hangman_art.py and make this error go away.
- from hangman_art import stages
- print(stages[lives])
Add Comment
Please, Sign In to add comment