Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions Hangman game.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import random
from collections import Counter

someWords = 'apple banana mango'

someWords = someWords.split(' ')
# randomly choose a secret word from our "someWords" LIST.
word = random.choice(someWords)

if __name__ == '__main__':
print('Guess the word! HINT: word is a name of a fruit')

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 = len(word) + 2
correct = 0
flag = 0
try:
while (chances != 0) and flag == 0: # flag is updated when the word is correctly guessed
print()
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 stores the number of times the guessed letter occurs in the word
k = word.count(guess)
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
# Once the correct word is guessed fully,
elif (Counter(letterGuessed) == Counter(word)):
# 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()
97 changes: 97 additions & 0 deletions Morsecode generator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
MORSE_CODE_DICT = {'A': '.-', 'B': '-...',
'C': '-.-.', 'D': '-..', 'E': '.',
'F': '..-.', 'G': '--.', 'H': '....',
'I': '..', 'J': '.---', 'K': '-.-',
'L': '.-..', 'M': '--', 'N': '-.',
'O': '---', 'P': '.--.', 'Q': '--.-',
'R': '.-.', 'S': '...', 'T': '-',
'U': '..-', 'V': '...-', 'W': '.--',
'X': '-..-', 'Y': '-.--', 'Z': '--..',
'1': '.----', '2': '..---', '3': '...--',
'4': '....-', '5': '.....', '6': '-....',
'7': '--...', '8': '---..', '9': '----.',
'0': '-----', ', ': '--..--', '.': '.-.-.-',
'?': '..--..', '/': '-..-.', '-': '-....-',
'(': '-.--.', ')': '-.--.-'}

# Function to encrypt the string
# according to the morse code chart


def encrypt(message):
cipher = ''
for letter in message:
if letter != ' ':

# Looks up the dictionary and adds the
# corresponding morse code
# along with a space to separate
# morse codes for different characters
cipher += MORSE_CODE_DICT[letter] + ' '
else:
# 1 space indicates different characters
# and 2 indicates different words
cipher += ' '

return cipher

# Function to decrypt the string
# from morse to english


def decrypt(message):

# extra space added at the end to access the
# last morse code
message += ' '

decipher = ''
citext = ''
for letter in message:

# checks for space
if (letter != ' '):

# counter to keep track of space
i = 0

# storing morse code of a single character
citext += letter

# in case of space
else:
# if i = 1 that indicates a new character
i += 1

# if i = 2 that indicates a new word
if i == 2:

# adding space to separate words
decipher += ' '
else:

# accessing the keys using their values (reverse of encryption)
decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT
.values()).index(citext)]
citext = ''

return decipher

# Hard-coded driver function to run the program


def main():
message = input("type the message : ")
result = encrypt(message.upper())
print(result)


'''
message = "--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... "
result = decrypt(message)
print(result)
'''

# Executes the main function
if __name__ == '__main__':
main()