Advertisement
bl00dt3ars

Functions - Exercise

Aug 13th, 2021
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.24 KB | None | 0 0
  1. # 01. Smallest of Three Numbers
  2. def smallest_num(a, b, c):
  3.     return min([a, b, c])
  4.  
  5.  
  6. first_num = int(input())
  7. second_num = int(input())
  8. third_num = int(input())
  9.  
  10. print(smallest_num(first_num, second_num, third_num))
  11.  
  12.  
  13. # 02. Add and Subtract
  14. def add_and_subtract(a, b, c):
  15.     result = a + b - c
  16.     return result
  17.  
  18.  
  19. first_num = int(input())
  20. second_num = int(input())
  21. third_num = int(input())
  22.  
  23. print(add_and_subtract(first_num, second_num, third_num))
  24.  
  25.  
  26. # 03. Characters in Range
  27. def chars_between(a, b):
  28.     characters = [chr(char) for char in range(a + 1, b)]
  29.     return characters
  30.  
  31.  
  32. from_char = ord(input())
  33. to_char = ord(input())
  34.  
  35. print(" ".join(chars_between(from_char, to_char)))
  36.  
  37.  
  38. # 04. Odd and Even Sum
  39. def sum_of_odd_nums(number):
  40.     result = sum([int(num) for num in number if not int(num) % 2 == 0])
  41.     return result
  42.    
  43. def sum_of_even_nums(number):
  44.     result = sum([int(num) for num in number if int(num) % 2 == 0])
  45.     return result
  46.    
  47.  
  48. number = input()
  49. print(f"Odd sum = {sum_of_odd_nums(number)}, Even sum = {sum_of_even_nums(number)}")
  50.  
  51.  
  52. # 05. Palindrome Integers
  53. def palindrome(el):
  54.     if list(el) == list(reversed(el)):
  55.         return True
  56.     else:
  57.         return False
  58.  
  59.  
  60. [print(palindrome(el)) for el in input().split(", ")]
  61.  
  62.  
  63. # 06. Password Validator
  64. def password_validator(password):
  65.     result = ''
  66.     if not 6 <= len(password) <= 10:
  67.         result += 'Password must be between 6 and 10 characters'
  68.     if len([char for char in password if not char.isdigit() and not char.isalpha()]) > 0:
  69.         result += '\nPassword must consist only of letters and digits'
  70.     if sum(digit.isdigit() for digit in password) < 2:
  71.         result += '\nPassword must have at least 2 digits'
  72.     if not result:
  73.         result += 'Password is valid'
  74.     return result
  75.  
  76.  
  77. print(password_validator(input()))
  78.  
  79.  
  80. # 07. Perfetct Number
  81. def perfect_number(number):
  82.     divisors = [divisor for divisor in range(1, number) if number % divisor == 0]
  83.     if sum(divisors) == number:
  84.         return "We have a perfect number!"
  85.     else:
  86.         return "It's not so perfect."
  87.  
  88.  
  89. number = int(input())
  90. print(perfect_number(number))
  91.  
  92.  
  93. # 08. Loading Bar
  94. def loading_bar(num):
  95.     bar = ["%"] * (num // 10)
  96.     if num == 100:
  97.         print("100% Complete!")
  98.         print(f"[{''.join(bar)}]")
  99.     else:
  100.         for i in range(10-len(bar)):
  101.             bar.append(".")
  102.         print(f"{num}% [{''.join(bar)}]")
  103.         print("Still loading...")
  104.  
  105.  
  106. num = int(input())
  107. loading_bar(num)
  108.  
  109.  
  110. # 09. Factorial Division
  111. def factorial(num):
  112.     current_factorial = 1
  113.     for i in range(1, num + 1):
  114.         current_factorial *= i
  115.     return current_factorial
  116.  
  117.  
  118. first_num = int(input())
  119. second_num = int(input())
  120.  
  121. result = factorial(first_num) / factorial(second_num)
  122. print(f"{result:.2f}")
  123.  
  124.  
  125. # 10. List Manipulator
  126. def exchange(numbers, index):
  127.     return numbers[index + 1:] + numbers[:index + 1]
  128.  
  129.  
  130. def max_even(numbers):
  131.     even_numbers = [num for num in numbers if num % 2 == 0]
  132.     if len(even_numbers) > 0:
  133.         max_even_num = max(even_numbers)
  134.         for i in range(len(numbers) - 1, -1, -1):
  135.             if numbers[i] == max_even_num:
  136.                 return i
  137.     else:
  138.         return "No matches"
  139.  
  140.  
  141. def max_odd(numbers):
  142.     odd_numbers = [num for num in numbers if num % 2 != 0]
  143.     if len(odd_numbers) > 0:
  144.         max_odd_num = max(odd_numbers)
  145.         for i in range(len(numbers) - 1, -1, -1):
  146.             if numbers[i] == max_odd_num:
  147.                 return i
  148.     else:
  149.         return "No matches"
  150.  
  151.  
  152. def min_even(numbers):
  153.     even_numbers = [num for num in numbers if num % 2 == 0]
  154.     if len(even_numbers) > 0:
  155.         min_even_num = min(even_numbers)
  156.         for i in range(len(numbers) - 1, -1, -1):
  157.             if numbers[i] == min_even_num:
  158.                 return i
  159.     else:
  160.         return "No matches"
  161.  
  162.  
  163. def min_odd(numbers):
  164.     odd_numbers = [num for num in numbers if num % 2 != 0]
  165.     if len(odd_numbers) > 0:
  166.         min_odd_num = min(odd_numbers)
  167.         for i in range(len(numbers) - 1, -1, -1):
  168.             if numbers[i] == min_odd_num:
  169.                 return i
  170.     else:
  171.         return "No matches"
  172.  
  173.  
  174. def first_even(numbers, get_numbers):
  175.     even_numbers = [num for num in numbers if num % 2 == 0]
  176.     return even_numbers[:get_numbers]
  177.  
  178.  
  179. def first_odd(numbers, get_numbers):
  180.     odd_numbers = [num for num in numbers if num % 2 != 0]
  181.     return odd_numbers[:get_numbers]
  182.  
  183.  
  184. def last_even(numbers, get_numbers):
  185.     even_numbers = [num for num in numbers if num % 2 == 0]
  186.     return even_numbers[-get_numbers:]
  187.  
  188.  
  189. def last_odd(numbers, get_numbers):
  190.     odd_numbers = [num for num in numbers if num % 2 != 0]
  191.     return odd_numbers[-get_numbers:]
  192.  
  193.  
  194. numbers = [int(num) for num in input().split()]
  195. command = input()
  196.  
  197. while command != "end":
  198.     get_function = command.split()
  199.     if get_function[0] == "exchange":
  200.         index = int(get_function[1])
  201.         if index not in range(len(numbers)):
  202.             print("Invalid index")
  203.         else:
  204.             numbers = exchange(numbers, index)
  205.     elif get_function[0] == "max":
  206.         type = get_function[1]
  207.         if type == "even":
  208.             print(max_even(numbers))
  209.         elif type == "odd":
  210.             print(max_odd(numbers))
  211.     elif get_function[0] == "min":
  212.         type = get_function[1]
  213.         if type == "even":
  214.             print(min_even(numbers))
  215.         elif type == "odd":
  216.             print(min_odd(numbers))
  217.     elif get_function[0] == "first":
  218.         get_numbers = int(get_function[1])
  219.         if get_numbers > len(numbers):
  220.             print("Invalid count")
  221.         else:
  222.             type = get_function[2]
  223.             if type == "even":
  224.                 print(first_even(numbers, get_numbers))
  225.             elif type == "odd":
  226.                 print(first_odd(numbers, get_numbers))
  227.     elif get_function[0] == "last":
  228.         get_numbers = int(get_function[1])
  229.         if get_numbers > len(numbers):
  230.             print("Invalid count")
  231.         else:
  232.             type = get_function[2]
  233.             if type == "even":
  234.                 print(last_even(numbers, get_numbers))
  235.             elif type == "odd":
  236.                 print(last_odd(numbers, get_numbers))
  237.     command = input()
  238.  
  239. print(numbers)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement