🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Напишите программу, которая принимает число от 0 до 9999 и выводит его словами на русском языке. если ввели число больше или меньше диапазона, а так же если ввели не число, выведите на экран "ввод не верный"
Одна строка, содержащая одно целое число от 0 до 9999 включительно.
Одна строка, содержащая словесное представление числа в кавычках.
1234
одна тысяча двести тридцать четыре
def number_to_words(n):
"""
Преобразует число от 0 до 9999 в его словесное представление на русском языке.
"""
if not 0 <= n <= 9999:
return "ввод не верный"
if n == 0:
return "ноль"
units = {
1: "один", 2: "два", 3: "три", 4: "четыре", 5: "пять",
6: "шесть", 7: "семь", 8: "восемь", 9: "девять"
}
teens = {
10: "десять", 11: "одиннадцать", 12: "двенадцать", 13: "тринадцать",
14: "четырнадцать", 15: "пятнадцать", 16: "шестнадцать",
17: "семнадцать", 18: "восемнадцать", 19: "девятнадцать"
}
tens = {
20: "двадцать", 30: "тридцать", 40: "сорок", 50: "пятьдесят",
60: "шестьдесят", 70: "семьдесят", 80: "восемьдесят", 90: "девяносто"
}
hundreds = {
100: "сто", 200: "двести", 300: "триста", 400: "четыреста",
500: "пятьсот", 600: "шестьсот", 700: "семьсот",
800: "восемьсот", 900: "девятьсот"
}
parts = []
# Обработка тысяч
if n >= 1000:
thousand_val = n // 1000
if thousand_val == 1:
parts.append("одна тысяча")
elif thousand_val == 2:
parts.append("две тысячи")
elif thousand_val in [3, 4]:
parts.append(units[thousand_val] + " тысячи")
else: # 5-9
parts.append(units[thousand_val] + " тысяч")
n %= 1000
# Обработка сотен
if n >= 100:
parts.append(hundreds[n // 100 * 100])
n %= 100
# Обработка десятков и единиц
if n >= 20:
parts.append(tens[n // 10 * 10])
n %= 10
if n > 0:
parts.append(units[n])
elif n >= 10:
parts.append(teens[n])
elif n > 0:
parts.append(units[n])
return " ".join(parts)
# Основная часть программы для считывания ввода и вывода результата
try:
num = int(input())
result = number_to_words(num)
print(result)
except ValueError:
print("ввод не верный")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...