diff --git a/Answer1.py b/Answer1.py new file mode 100644 index 0000000..916e35c --- /dev/null +++ b/Answer1.py @@ -0,0 +1,38 @@ +# ### 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] +# ``` + +# Python program to right rotate a list by n + +# Returns the rotated list + + +def rotate_function(list, num): + new_list =[] + for i in range(len(list) - num, len(list)): + new_list.append(list[i]) + for i in range(0, len(list) -num): + new_list.append(list[i]) + + return new_list + + +enter_list = input([]) +enter_number = int(input()) + +rotate_function(enter_list, enter_number) + + + diff --git a/Answer2.py b/Answer2.py new file mode 100644 index 0000000..22412a5 --- /dev/null +++ b/Answer2.py @@ -0,0 +1,28 @@ +# ### 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)] +# ``` + + + + + + +string =input("Enter a sentence ") + +word_dict = {} +for n in string : + if n in word_dict : + word_dict[n] +=1 + else : + word_dict[n] = 1 + +print(word_dict) diff --git a/Answer3.py b/Answer3.py new file mode 100644 index 0000000..e84407b --- /dev/null +++ b/Answer3.py @@ -0,0 +1,12 @@ + +word1 = input() +word2 = input() +set1 = set(word1.lower()) +set2 = set(word2.lower()) +lst1 = list(set1&set2) +lst2 = list(set1 - set2) +lst3 = list(set2 - set1) + +print(f"{lst1} {lst2} {lst3}") + + \ No newline at end of file diff --git a/Answer4.py b/Answer4.py new file mode 100644 index 0000000..4e84933 --- /dev/null +++ b/Answer4.py @@ -0,0 +1,22 @@ +### 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 + +def nearest_palindromical_number(num: int): + i = 0 + while True: + small = num - i + if str(small) == str(small)[::-1]: + return(small) + large = num + i + if str(large) == str(large)[::-1]: + return(large) + i += 1 +nearest_palindromical_number(100) \ No newline at end of file