Вот подробное решение на Python. Оно запрашивает у пользователя оценку от 0 до 100 и выводит соответствующее текстовое представление. Включена обработка ошибок ввода и повторный запрос до корректного значения.
Код (Python 3):
def grade_to_text(score): if 0 <= score <= 59: return "Неудовлетворительно" elif 60 <= score <= 69: return "Удовлетворительно" elif 70 <= score <= 79: return "Хорошо" else: # 80-100 return "Отлично"
def main(): while True: s = input("Введите оценку (0-100): ") try: score = int(s) except ValueError: print("Ошибка: введите целое число от 0 до 100.") continue
if 0 <= score <= 100:
print(grade_to_text(score))
break
else:
print("Ошибка: оценка должна быть в диапазоне 0-100.")
if name == "main": main()
Пояснения к решению по шагам:
- Определение диапазонов: создаём функцию grade_to_text, которая сопоставляет диапазоны значений с текстовыми фразами:
- 0–59 → "Неудовлетворительно"
- 60–69 → "Удовлетворительно"
- 70–79 → "Хорошо"
- 80–100 → "Отлично"
- Ввод пользователя: программа запрашивает оценку строкой и пытается преобразовать её в целое число (int).
- Валидация: проверяем, что число лежит в диапазоне 0–100. Если нет или ввод некорректный, выводим сообщение об ошибке и запрашиваем заново.
- Вывод: после получения корректного значения выводится соответствующая текстовая оценка и программа завершается.
Дополнительно можно легко адаптировать под другие языки:
- JavaScript (Node.js): использовать prompt/ readline для ввода и аналогично распределить диапазоны через условные ветвления.
- Java, C++, и т.д.: аналогично реализовать функцию/метод, который возвращает нужную строку по диапазону, и обработать ввод с валидацией.