Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import array
- def max_indices(arr, num):
- right_max = 0
- max_element = arr[0]
- for i in range(num):
- # If found new maximum
- if arr[i] > max_element:
- right_max = i
- max_element = arr[i]
- # If arr[i] = max then rightmost
- # index for max will change
- elif arr[i] == max_element:
- right_max = i
- print(right_max)
- def min_indices(arr, num):
- right_min = 0
- min_element = arr[0]
- for i in range(num):
- # If found new minimum
- if arr[i] < min_element:
- right_min = i
- min_element = arr[i]
- # If arr[i] = min then rightmost
- # index for min will change
- elif arr[i] == min_element:
- right_min = i
- print(right_min)
- line_numbers = input().split()
- command_info = input()
- my_integers_list = []
- for item in line_numbers:
- if item.isdigit():
- integer_numbers = int(item)
- my_integers_list.append(integer_numbers)
- while command_info != "end":
- sub_list_first = []
- sub_list_second = []
- command = command_info.split()[0]
- if command == "exchange":
- index = command_info.split()[1]
- index = int(index)
- if index not in range(len(my_integers_list)):
- print("Invalid index")
- else:
- for item in range(len(my_integers_list)):
- if item > index:
- sub_list_second.append(my_integers_list[item])
- else:
- sub_list_first.append(my_integers_list[item])
- sub_list_second.extend(sub_list_first)
- my_integers_list = sub_list_second
- elif command == "max":
- kind_number = command_info.split()[1]
- if kind_number == "even":
- even_numbers = [num for num in my_integers_list if num % 2 == 0]
- if not even_numbers:
- print("No matches")
- else:
- max_even = max(even_numbers)
- if even_numbers.count(max_even) > 1:
- # Convert list to Python array
- arr_even = array.array("i", even_numbers)
- n = len(arr_even)
- max_indices(arr_even, n)
- else:
- max_even_index = my_integers_list.index(max_even)
- print(max_even_index)
- elif kind_number == "odd":
- odd_numbers = [num for num in my_integers_list if num % 2 != 0]
- if not odd_numbers:
- print("No matches")
- else:
- max_odd = max(odd_numbers)
- if odd_numbers.count(max_odd) > 1:
- # Convert list to Python array
- arr_odd = array.array("i", odd_numbers)
- n = len(arr_odd)
- max_indices(arr_odd, n)
- else:
- max_odd_index = my_integers_list.index(max_odd)
- print(max_odd_index)
- elif command == "min":
- kind_number = command_info.split()[1]
- if kind_number == "even":
- even_numbers = [num for num in my_integers_list if num % 2 == 0]
- if not even_numbers:
- print("No matches")
- else:
- min_even = min(even_numbers)
- if even_numbers.count(min_even) > 1:
- # Convert list to Python array
- arr_even = array.array("i", even_numbers)
- n = len(arr_even)
- min_indices(arr_even, n)
- else:
- min_even_index = my_integers_list.index(min_even)
- print(min_even_index)
- elif kind_number == "odd":
- odd_numbers = [num for num in my_integers_list if num % 2 != 0]
- if not odd_numbers:
- print("No matches")
- else:
- min_odd = min(odd_numbers)
- if odd_numbers.count(min_odd) > 1:
- # Convert list to Python array
- arr_odd = array.array("i", odd_numbers)
- n = len(arr_odd)
- min_indices(arr_odd, n)
- else:
- min_odd_index = my_integers_list.index(min_odd)
- print(min_odd_index)
- elif command == "first":
- count = command_info.split()[1]
- count = int(count)
- kind_number = command_info.split()[2]
- if kind_number == "even":
- even_numbers = [num for num in my_integers_list if num % 2 == 0]
- if not even_numbers:
- print("[]")
- else:
- if count > len(my_integers_list):
- print("Invalid count")
- elif len(even_numbers) > 1:
- first_elements = [even_numbers[i] for i in range(count)]
- print(first_elements)
- else:
- print(odd_numbers)
- elif kind_number == "odd":
- odd_numbers = [num for num in my_integers_list if num % 2 != 0]
- if not odd_numbers:
- print("[]")
- else:
- if count > len(my_integers_list):
- print("Invalid count")
- elif len(odd_numbers) > 1:
- first_elements = [odd_numbers[i] for i in range(count)]
- print(first_elements)
- else:
- print(odd_numbers)
- elif command == "last":
- count = command_info.split()[1]
- count = int(count)
- kind_number = command_info.split()[2]
- if kind_number == "even":
- even_numbers = [num for num in my_integers_list if num % 2 == 0]
- if not even_numbers:
- print("[]")
- else:
- if count > len(my_integers_list):
- print("Invalid count")
- elif len(even_numbers) > 1:
- res = even_numbers[-count:]
- print(str(res))
- else:
- print(odd_numbers)
- elif kind_number == "odd":
- odd_numbers = [num for num in my_integers_list if num % 2 != 0]
- if not odd_numbers:
- print("[]")
- else:
- if count > len(my_integers_list):
- print("Invalid count")
- elif len(odd_numbers) > 1:
- res = odd_numbers[-count:]
- print(str(res))
- else:
- print(odd_numbers)
- command_info = input()
- print(my_integers_list)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement