Как написать программу, которая запрашивает ввод оценок за итоговые тесты и считает количество пятёрок, при этом учитывая, что хорошие и отличные ученики получают скидки на поездку в театр? Скидки распределяются следующим образом:
Результат должен выводиться с сообщением: «Скидка на билеты в театр (%):». Также необходимо использовать две собственные функции в программе. Как это оформить?
Информатика 8 класс Программирование программа для подсчета оценок скидка на билеты в театр функции в программе ввод оценок итоговые тесты количество пятерок скидки для учеников информатика 8 класс
Для написания программы, которая запрашивает ввод оценок за итоговые тесты и считает количество пятёрок, а также определяет скидку на поездку в театр, нам нужно выполнить несколько шагов. Мы будем использовать две собственные функции: одну для подсчета пятёрок и вторую для определения скидки.
Шаги решения:
def count_fives(grades):
"""Функция для подсчета количества пятёрок."""
return grades.count(5)
def calculate_discount(num_fives):
"""Функция для определения скидки на билеты в театр."""
if num_fives >= 5:
return 15
elif num_fives >= 4:
return 10
else:
return 0
# Запрашиваем ввод оценок
grades = []
while True:
grade = input("Введите оценку (или 'exit' для завершения): ")
if grade.lower() == 'exit':
break
try:
grades.append(int(grade))
except ValueError:
print("Пожалуйста, введите корректное число.")
# Подсчет пятёрок
num_fives = count_fives(grades)
# Определение скидки
discount = calculate_discount(num_fives)
# Вывод результата
print(f"Скидка на билеты в театр ({discount}%):")
В этом коде мы сначала определяем две функции: count_fives для подсчета пятёрок и calculate_discount для определения скидки. Затем мы запрашиваем у пользователя ввод оценок, сохраняя их в списке grades. После этого мы вызываем обе функции и выводим результат. Обратите внимание, что программа завершает ввод оценок, если пользователь вводит 'exit'.