Advertisement
eNeRGy90

Untitled

Mar 8th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.24 KB | None | 0 0
  1. def Exchange(my_list, index):
  2.     if index > len(my_list) or index <= 0:
  3.         print(f"Invalid index")
  4.     else:
  5.         sliced_part = my_list[:index+1]
  6.         del my_list[:index+1]
  7.         my_list.extend(sliced_part)
  8.         return my_list
  9.  
  10.  
  11. def Max(my_list, odd_even):
  12.     try:
  13.         if odd_even == "odd":
  14.             max_n = max(i for i in my_list if i % 2 == 1)
  15.             for i in range(len(my_list)):
  16.                 if my_list[i] % 2 == 1:
  17.                     if my_list[i] >= max_n:
  18.                         max_n = my_list[i]
  19.                         max_in = i
  20.             return print(f"{max_in}")
  21.  
  22.         elif odd_even == "even":
  23.             max_n = max(i for i in my_list if i % 2 == 0)
  24.             for i in range(len(my_list)):
  25.                 if my_list[i] % 2 == 0:
  26.                     if my_list[i] >= max_n:
  27.                         max_n = my_list[i]
  28.                         max_in = i
  29.             return print(f"{max_in}")
  30.     except ValueError:
  31.         return f"No matches"
  32.  
  33.  
  34. def Min(my_list, odd_even):
  35.     try:
  36.         if odd_even == "odd":
  37.             min_n = min(i for i in my_list if i % 2 == 1)
  38.             for i in range(len(my_list)):
  39.                 if my_list[i] % 2 == 1:
  40.                     if my_list[i] <= min_n:
  41.                         min_n = my_list[i]
  42.                         min_in = i
  43.             return print(f"{min_in}")
  44.         elif odd_even == "even":
  45.             min_n = min(i for i in my_list if i % 2 == 0)
  46.             for i in range(len(my_list)):
  47.                 if my_list[i] % 2 == 0:
  48.                     if my_list[i] <= min_n:
  49.                         min_n = my_list[i]
  50.                         min_in = i
  51.             return print(f"{min_in}")
  52.     except ValueError:
  53.         return print(f"No matches")
  54.  
  55. def Count(first_last, count, odd_even, my_list):
  56.     new_list = []
  57.     if count > len(my_list):
  58.         return print(f"Invalid count")
  59.     else:
  60.         if first_last == "first":
  61.             if odd_even == "even":#chetno
  62.                 counter = 0
  63.                 new_list.clear()
  64.                 for i in range(len(my_list)):
  65.                     if counter == int(count):
  66.                         break
  67.                     else:
  68.                         if my_list[i] % 2 == 0:
  69.                             counter += 1
  70.                             new_list.append(my_list[i])
  71.                 return print(new_list)
  72.             elif odd_even == "odd":
  73.                 counter = 0
  74.                 new_list.clear()
  75.                 for i in range(len(my_list)):
  76.                     if counter == int(count):
  77.                         break
  78.                     else:
  79.                         if my_list[i] % 2 == 1:
  80.                             counter += 1
  81.                             new_list.append(my_list[i])
  82.                 return print(new_list)
  83.         elif first_last == "last":
  84.             counter = 0
  85.             rev_list = list(reversed(my_list))
  86.             if odd_even == "even":
  87.                 for i in range(len(rev_list)):
  88.                     if counter == int(count):
  89.                         break
  90.                     else:
  91.                         if rev_list[i] % 2 == 0:
  92.                             counter += 1
  93.                             new_list.append(rev_list[i])
  94.                 new_list = list(reversed(new_list))
  95.                 return print(new_list)
  96.             elif odd_even == "odd":
  97.                 for i in range(len(rev_list)):
  98.                     if counter == int(count):
  99.                         break
  100.                     else:
  101.                         if rev_list[i] % 2 == 1:
  102.                             counter += 1
  103.                             new_list.append(rev_list[i])
  104.                 new_list = list (reversed(new_list))
  105.                 return print(new_list)
  106.  
  107.  
  108. my_list = list(map(int, input().split()))
  109. while True:
  110.     command = input().split()
  111.     if command[0] == "end":
  112.         break
  113.     if command[0] == "exchange":
  114.         Exchange(my_list, int(command[1]))
  115.     elif command[0] == "max":
  116.         Max(my_list, command[1])
  117.     elif command[0] == "min":
  118.         Min(my_list, command[1])
  119.     elif command[0] == "first" or command[0] == "last":
  120.         Count(command[0], int(command[1]), command[2], my_list)
  121.  
  122. print(my_list)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement