From 7f4f565e6291e876f45bb100843fdd021177fbb0 Mon Sep 17 00:00:00 2001 From: Ambuj81 Date: Sun, 26 May 2019 22:07:40 +0530 Subject: [PATCH] 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 --- ciphers/morse_Code_implementation.py | 82 ++++++++++++++++++++++++ dynamic_programming/subset_generation.py | 39 +++++++++++ 2 files changed, 121 insertions(+) create mode 100644 ciphers/morse_Code_implementation.py create mode 100644 dynamic_programming/subset_generation.py diff --git a/ciphers/morse_Code_implementation.py b/ciphers/morse_Code_implementation.py new file mode 100644 index 000000000..7b2d0a94b --- /dev/null +++ b/ciphers/morse_Code_implementation.py @@ -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() diff --git a/dynamic_programming/subset_generation.py b/dynamic_programming/subset_generation.py new file mode 100644 index 000000000..4b7a2bf87 --- /dev/null +++ b/dynamic_programming/subset_generation.py @@ -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