diff --git a/Q1.py b/Q1.py new file mode 100644 index 0000000..7732d24 --- /dev/null +++ b/Q1.py @@ -0,0 +1,24 @@ +# ### 1. +# Write a program that takes two inputs; one of them is a list and the other is a number, and returns the list obtained by shifting the elements in the list n places to the right (left) when n is positive (negative). Use wrap-around: if an element is shifted beyond the end of the list, then continue to shift starting at the beginning of the list. + +# ``` +# Example +# Inputs>>> [1, 2, 3, 4, 5], 2 +# Output>>> [4, 5, 1, 2, 3] +# Inputs>>> [1, 2, 3, 4, 5], -2 +# Output>>> [3, 4, 5, 1, 2] + +def shiftfunction(mylist, mynumber): + + if 0mynumber> -1 * len(mylist): + return mylist[len(mylist) + mynumber - 1:] + mylist[:mynumber - 1] + else: + return mylist + + + + +print(shiftfunction([1,2,3,4], 2)) \ No newline at end of file diff --git a/Q2.py b/Q2.py new file mode 100644 index 0000000..05caa59 --- /dev/null +++ b/Q2.py @@ -0,0 +1,21 @@ +# Write a code snippet that inputs a sentence from the user, then uses a dictionary to summarize the number of occurrences of each letter. Ignore case, ignore blanks and assume the user does not enter any punctuation. Display a two-column table of the letters and their counts with the letters in sorted order. + +# ``` +# Example +# Input >>> "This is a sample text with several words This is more sample text with some different words" +# Output >>> +# [('a', 4), ('d', 3), ('e', 10), ('f', 2), ('h', 4), ('i', 7), ('l', 3), ('m', 4), ('n', 1), ('o', 4), ('p', 2), ('r', 5), ('s', 10), ('t', 9), ('v', 1), ('w', 4), ('x', 2)] +# ``` + +example = 'This an example sentence'*3 + +def extract_characters(example): + examplelist = list(example) + char = {} + for cha in set(examplelist): + char[cha] = examplelist.count(cha) + return char + + +char = extract_characters(example) +print(char) \ No newline at end of file diff --git a/Q3.py b/Q3.py new file mode 100644 index 0000000..f3160de --- /dev/null +++ b/Q3.py @@ -0,0 +1,27 @@ +# ### 3. +# Write a program that takes in two words as input and returns a list containing three elements, in the following order: +# - Shared letters between two words. + +# - Letters unique to word 1. + +# - Letters unique to word 2. + +# Each element of the output should have unique letters, and should be alphabetically sorted. Use set operations. The strings will always be in lowercase and will not contain any punctuation. + +# ``` +# Example +# Input1>>> "sharp" +# Input2>>> "soap" +# Output>>> ['aps', 'hr', 'o'] + +def two_words(w1, w2): + w1=set(w1) + w2=set(w2) + lis=[] + + lis.append ("".join (sorted (w1& w2 )) ) + lis.append ("".join (sorted (w1- w2 )) ) + lis.append ("".join (sorted (w2-w1 )) ) + + return lis +print (two_words("sharp","soap") ) \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 7dc5a08..0000000 --- a/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Class7-Python-Module-Week2 - -### 1. -Write a program that takes two inputs; one of them is a list and the other is a number, and returns the list obtained by shifting the elements in the list n places to the right (left) when n is positive (negative). Use wrap-around: if an element is shifted beyond the end of the list, then continue to shift starting at the beginning of the list. - -``` -Example -Inputs>>> [1, 2, 3, 4, 5], 2 -Output>>> [4, 5, 1, 2, 3] -Inputs>>> [1, 2, 3, 4, 5], -2 -Output>>> [3, 4, 5, 1, 2] -``` - - -### 2. -Write a code snippet that inputs a sentence from the user, then uses a dictionary to summarize the number of occurrences of each letter. Ignore case, ignore blanks and assume the user does not enter any punctuation. Display a two-column table of the letters and their counts with the letters in sorted order. - -``` -Example -Input >>> "This is a sample text with several words This is more sample text with some different words" -Output >>> -[('a', 4), ('d', 3), ('e', 10), ('f', 2), ('h', 4), ('i', 7), ('l', 3), ('m', 4), ('n', 1), ('o', 4), ('p', 2), ('r', 5), ('s', 10), ('t', 9), ('v', 1), ('w', 4), ('x', 2)] -``` - - -### 3. -Write a program that takes in two words as input and returns a list containing three elements, in the following order: -- Shared letters between two words. - -- Letters unique to word 1. - -- Letters unique to word 2. - -Each element of the output should have unique letters, and should be alphabetically sorted. Use set operations. The strings will always be in lowercase and will not contain any punctuation. - -``` -Example -Input1>>> "sharp" -Input2>>> "soap" -Output>>> ['aps', 'hr', 'o'] -``` - -### 4. -A palindromical prime number is a prime number that reads the same when reversed. -Write a function which returns the nearest palindromical prime number less than the multiplication of all the arguments. - -``` -Example -Input1>>> some_function(2, 3, 4) -Output1>>> the nearest palindromical prime number less than 24 -Input2>>> some_function(31, 77, 99) -Output2>>> the nearest palindromical prime number less than 236,313 -```