diff --git a/Group_game/hangman.py b/Group_game/hangman.py new file mode 100644 index 0000000000000000000000000000000000000000..27033d551b511250b8163353d20b977ed9c1b3d0 --- /dev/null +++ b/Group_game/hangman.py @@ -0,0 +1,82 @@ +Python 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)] on win32 +Type "help", "copyright", "credits" or "license()" for more information. +>>> +... from collections import Counter +... +... word = "closet" +... +... def hangman(word): +... print('Guess the word! HINT: you may find this thing in your bedroom') +... print("You will have 15 chances to guess the word. ") +... +... for i in word: +... # For printing the empty spaces for letters of the word +... print('_', end = ' ') +... print() +... +... playing = True +... # list for storing the letters guessed by the player +... letterGuessed = '' +... chances = 15 +... correct = 0 +... flag = 0 +... try: +... while (chances != 0) and flag == 0: #flag is updated when the word is correctly guessed +... print() +... print("you have "+str(chances)+" guesses left!") +... chances -= 1 +... +... try: +... guess = str(input('Enter a letter to guess: ')) +... except: +... print('Enter only a letter!') +... continue +... +... # Validation of the guess +... if not guess.isalpha(): +... print('Enter only a LETTER') +... continue + elif len(guess) > 1: + print('Enter only a SINGLE letter') + continue + elif guess in letterGuessed: + print('You have already guessed that letter') + continue + + + # If letter is guessed correctly + if guess in word: + k = word.count(guess) #k stores the number of times the guessed letter occurs in the word + for _ in range(k): + letterGuessed += guess # The guess letter is added as many times as it occurs + + # Print the word + for char in word: + if char in letterGuessed and (Counter(letterGuessed) != Counter(word)): + print(char, end = ' ') + correct += 1 + # If user has guessed all the letters + elif (Counter(letterGuessed) == Counter(word)): # Once the correct word is guessed fully, + # the game ends, even if chances remain + print("The word is: ", end=' ') + print(word) + flag = 1 + print('Congratulations, You won!') + break # To break out of the for loop + break # To break out of the while loop + else: + print('_', end = ' ') + + + + # If user has used all of his chances + if chances <= 0 and (Counter(letterGuessed) != Counter(word)): + print() + print('You lost! Try again..') + print('The word was {}'.format(word)) + + except KeyboardInterrupt: + print() + print('Bye! Try again.') + exit() +