mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
subset_generation (#326)
* subset_generation generate all possible subset of size n of a given array of size r * Rename subset_generation to subset_generation.py * Update subset_generation.py I made all changes I could . What I mean is I removed all the empty space ....... There some comment extra if you feel removing those comments please do so yourself pls provide spacing as it should be * Create morse_Code_implementation.py * Any more changes pls let me know
This commit is contained in:
parent
974088d872
commit
7f4f565e62
82
ciphers/morse_Code_implementation.py
Normal file
82
ciphers/morse_Code_implementation.py
Normal file
@ -0,0 +1,82 @@
|
||||
# Python program to implement Morse Code Translator
|
||||
|
||||
|
||||
# Dictionary representing the morse code chart
|
||||
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':'-----', ', ':'--..--', '.':'.-.-.-',
|
||||
'?':'..--..', '/':'-..-.', '-':'-....-',
|
||||
'(':'-.--.', ')':'-.--.-'}
|
||||
|
||||
|
||||
def encrypt(message):
|
||||
cipher = ''
|
||||
for letter in message:
|
||||
if letter != ' ':
|
||||
|
||||
|
||||
cipher += MORSE_CODE_DICT[letter] + ' '
|
||||
else:
|
||||
|
||||
cipher += ' '
|
||||
|
||||
return cipher
|
||||
|
||||
|
||||
def decrypt(message):
|
||||
|
||||
message += ' '
|
||||
|
||||
decipher = ''
|
||||
citext = ''
|
||||
for letter in message:
|
||||
|
||||
if (letter != ' '):
|
||||
|
||||
|
||||
i = 0
|
||||
|
||||
|
||||
citext += letter
|
||||
|
||||
else:
|
||||
|
||||
i += 1
|
||||
|
||||
|
||||
if i == 2 :
|
||||
|
||||
|
||||
decipher += ' '
|
||||
else:
|
||||
|
||||
|
||||
decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT
|
||||
.values()).index(citext)]
|
||||
citext = ''
|
||||
|
||||
return decipher
|
||||
|
||||
|
||||
def main():
|
||||
message = "Morse code here"
|
||||
result = encrypt(message.upper())
|
||||
print (result)
|
||||
|
||||
message = result
|
||||
result = decrypt(message)
|
||||
print (result)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
39
dynamic_programming/subset_generation.py
Normal file
39
dynamic_programming/subset_generation.py
Normal file
@ -0,0 +1,39 @@
|
||||
# python program to print all subset combination of n element in given set of r element .
|
||||
#arr[] ---> Input Array
|
||||
#data[] ---> Temporary array to store current combination
|
||||
# start & end ---> Staring and Ending indexes in arr[]
|
||||
# index ---> Current index in data[]
|
||||
#r ---> Size of a combination to be printed
|
||||
def combinationUtil(arr,n,r,index,data,i):
|
||||
#Current combination is ready to be printed,
|
||||
# print it
|
||||
if(index == r):
|
||||
for j in range(r):
|
||||
print(data[j],end =" ")
|
||||
print(" ")
|
||||
return
|
||||
# When no more elements are there to put in data[]
|
||||
if(i >= n):
|
||||
return
|
||||
#current is included, put next at next
|
||||
# location
|
||||
data[index] = arr[i]
|
||||
combinationUtil(arr,n,r,index+1,data,i+1)
|
||||
# current is excluded, replace it with
|
||||
# next (Note that i+1 is passed, but
|
||||
# index is not changed)
|
||||
combinationUtil(arr,n,r,index,data,i+1)
|
||||
# The main function that prints all combinations
|
||||
#of size r in arr[] of size n. This function
|
||||
#mainly uses combinationUtil()
|
||||
def printcombination(arr,n,r):
|
||||
# A temporary array to store all combination
|
||||
# one by one
|
||||
data = [0]*r
|
||||
#Print all combination using temprary
|
||||
#array 'data[]'
|
||||
combinationUtil(arr,n,r,0,data,0)
|
||||
# Driver function to check for above function
|
||||
arr = [10,20,30,40,50]
|
||||
printcombination(arr,len(arr),3)
|
||||
#This code is contributed by Ambuj sahu
|
Loading…
Reference in New Issue
Block a user