Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def skip():
- print("_" * 60)
- print("_" * 60)
- skip()
- # Перше завдання
- mas = ['байт', 'принтер', 'процесор', 'монітор']
- n = len(mas)
- c = str(input("\033[52;1;118mВведіть термін: \033[0m").lower())
- per = False
- l = 0
- p = n - 1
- while (l <= p) and (not per):
- if mas[l] == c:
- i = l
- per = True
- elif mas[p] == c:
- i = p
- per = True
- else:
- i = int((l + p) / 2)
- if mas[i] == c:
- per = True
- elif c > mas[i]:
- l = i + 1
- else:
- p = i - 1
- if per:
- print("\033[92;1mВведений термін знаходиться на позиції", i, '\033[0m')
- else:
- print("\033[95mВведений термін відсутній у масиві\033[0m")
- skip()
- # Друге завдання
- dict = {1: "раз", 2: "рази", 3: "рази", 4: "рази", 5: "разів", 6: "разів", 7: "разів", 8: "разів", 9: "разів"}
- while True:
- number = input("\033[52;1;118mВведіть будь-яке ціле число від 5 до 13 (включно): \033[0m")
- try:
- number = float(number)
- except:
- print("\033[31mВведене значення не є числом. Спробуйте ввести інше значення!\033[0m")
- continue
- is_num = number.is_integer()
- if is_num == False:
- print("\033[31mВведене число не є цілим. Спробуйте ввести інше число!\033[0m")
- continue
- if number < 5 or number > 13:
- print("\033[31mВведене число не входить в діапазон від 5 до 13. Спробуйте ввести інше число!\033[0m")
- continue
- array = [13, 7, 6, 7, 9, 7, 6, 5]
- length = len(array)
- k = 0
- for i in range(length):
- if array[i] == number:
- k = k + 1
- if k > 0:
- print("\033[32mВведене число зустрічається у масиві", k, dict[k], '\033[0m')
- else:
- print("\033[36;5;118mВведене число не зустрічається у масиві\033[0m")
- break
- skip()
- # Третє завдання
- stations = ["Бурштинська ТЕС", "Вуглегірська ТЕС", "Добротворська ТЕС", "Запорізька ТЕС", "Зміївська ТЕС", "Зуївська ТЕС", "Криворізька ТЕС", "Курахівська ТЕС", "Ладижинська ТЕС", "Луганська ТЕС", "Миронівська ТЕС", "Придніпровська ТЕС", "Слов'янська ТЕС", "Старобешівська ТЕС", "Трипільська ТЕС"]
- power = [2334, 3600, 510, 2850, 2200, 1270, 2256, 1527, 1800, 1220, 275, 1195, 800, 2010, 1080]
- pairs = zip(power, stations)
- sorted_pairs = sorted(pairs, reverse = True)
- sorted_power, sorted_stations = zip(*sorted_pairs)
- stations_number = len(sorted_stations)
- first_letter_count = 0
- for i in stations:
- if i[0] == "З":
- first_letter_count += 1
- print("\033[52;1;118mСписок електростанцій України\033[0m".rjust(47))
- for i in range(stations_number):
- print(f"{i+1}. {stations[i]}")
- print('\nВ Україні існує', stations_number, 'електростанцій. З них', first_letter_count, 'електростанції починаються на букву "З". Трипільська електростанція знаходиться на', (stations.index("Трипільська ТЕС")+1), "місці за алфавітом та на", (sorted_stations.index("Трипільська ТЕС")+1), "місці за потужністю.")
- while True:
- choice = input("""\n\033[52;1;118mВиберіть дію, яку потрібно виконати:\033[0m
- 1 – Вивести список електростанцій за потужністю
- 2 – Подивитися додаткову інформацію про одну з електростанцій
- 3 – Завершити програму
- """)
- if choice == "1" or choice == "Вивести список електростанцій за потужністю" or choice == "1 – Вивести список електростанцій за потужністю":
- print("\033[52;1;118mСписок електростанцій України за потужністю \033[0m".rjust(62))
- for i in range(stations_number):
- print(f"{i+1}. {sorted_stations[i]} - {sorted_power[i]} МВт")
- continue
- if choice == "2" or choice == "Подивитися додаткову інформацію про одну з електростанцій" or choice == "2 – Подивитися додаткову інформацію про одну з електростанцій":
- while True:
- station_name = input("\n\033[52;1;118mВведіть назву однієї з електростанції зі списку вище, про яку ви хочете подивитися додаткову інформацію: \033[0m")
- try:
- station_index = sorted_stations.index(station_name)
- except:
- print("\033[31mВи неправильно ввели назву електростанції. Спробуйте ще раз!\033[0m")
- continue
- print(f"\n{station_name} знаходиться на {stations.index(station_name) + 1} місці за алфавітом та на {sorted_stations.index(station_name) + 1} місці за потужністю. Її потужність становить {sorted_power[sorted_stations.index(station_name)]} МВт.")
- break
- continue
- if choice == "3" or choice == "Завершити програму" or choice == "3 – Завершити програму":
- break
- else:
- print("\033[31mВи ввели неправильне число. Спробуйте ще раз!\033[0m")
- continue
- skip()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement