Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def exchange(numbers, index):
- first_slice = numbers[:index + 1]
- second_slice = numbers[index + 1:]
- return second_slice + first_slice
- def max_even(numbers):
- even_numbers = [num for num in numbers if num % 2 == 0]
- if len(even_numbers) > 0:
- max_even_num = max(even_numbers)
- max_even_index = None
- for i in range(len(numbers)):
- if numbers[i] == max_even_num:
- max_even_index = i
- return max_even_index
- else:
- return "No matches"
- def max_odd(numbers):
- odd_numbers = [num for num in numbers if num % 2 != 0]
- if len(odd_numbers) > 0:
- max_odd_num = max(odd_numbers)
- max_odd_index = None
- for i in range(len(numbers)):
- if numbers[i] == max_odd_num:
- max_odd_index = i
- return max_odd_index
- else:
- return "No matches"
- def min_even(numbers):
- even_numbers = [num for num in numbers if num % 2 == 0]
- if len(even_numbers) > 0:
- min_even_num = min(even_numbers)
- min_even_index = None
- for i in range(len(numbers)):
- if numbers[i] == min_even_num:
- min_even_index = i
- return min_even_index
- else:
- return "No matches"
- def min_odd(numbers):
- odd_numbers = [num for num in numbers if num % 2 != 0]
- if len(odd_numbers) > 0:
- min_odd_num = min(odd_numbers)
- min_odd_index = None
- for i in range(len(numbers)):
- if numbers[i] == min_odd_num:
- min_odd_index = i
- return min_odd_index
- else:
- return "No matches"
- def first_even(numbers, get_numbers):
- even_numbers = [num for num in numbers if num % 2 == 0]
- return even_numbers[:get_numbers]
- def first_odd(numbers, get_numbers):
- odd_numbers = [num for num in numbers if num % 2 != 0]
- return odd_numbers[:get_numbers]
- def last_even(numbers, get_numbers):
- even_numbers = [num for num in numbers if num % 2 == 0]
- return list(reversed(even_numbers[-get_numbers:]))
- def last_odd(numbers, get_numbers):
- odd_numbers = [num for num in numbers if num % 2 != 0]
- return list(reversed(odd_numbers[-get_numbers:]))
- numbers = [int(num) for num in input().split()]
- command = input()
- while command != "end":
- get_function = command.split()
- if get_function[0] == "exchange":
- index = int(get_function[1])
- if index not in range(len(numbers)):
- print("Invalid index")
- else:
- numbers = exchange(numbers, index)
- elif get_function[0] == "max":
- type = get_function[1]
- if type == "even":
- print(max_even(numbers))
- elif type == "odd":
- print(max_odd(numbers))
- elif get_function[0] == "min":
- type = get_function[1]
- if type == "even":
- print(min_even(numbers))
- elif type == "odd":
- print(min_odd(numbers))
- elif get_function[0] == "first":
- get_numbers = int(get_function[1])
- if get_numbers > len(numbers):
- print("Invalid count")
- else:
- type = get_function[2]
- if type == "even":
- print(first_even(numbers, get_numbers))
- elif type == "odd":
- print(first_odd(numbers, get_numbers))
- elif get_function[0] == "last":
- get_numbers = int(get_function[1])
- if get_numbers > len(numbers):
- print("Invalid count")
- else:
- type = get_function[2]
- if type == "even":
- print(last_even(numbers, get_numbers))
- elif type == "odd":
- print(last_odd(numbers, get_numbers))
- command = input()
- else:
- print(numbers)
Add Comment
Please, Sign In to add comment