🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
ProgerLib Python für alle
Schreiben Sie ein Programm, das eine Zahl von 0 bis 9999 akzeptiert und sie in Wörtern auf Russisch anzeigt. Wenn Sie eine Zahl außerhalb des Bereichs eingeben oder wenn Sie keine Zahl eingeben, zeigen Sie die Meldung „Eingabe ist nicht korrekt“ an.
Eine Zeile, die eine einzelne Zahl von 0 bis einschließlich 9999 enthält.
Eine Zeile, die eine verbale Darstellung der Zahl in Anführungszeichen enthält.
1234
Eintausendzweihundertvierunddreißig
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("ввод не верный")
🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
AD
Werbung
Führe deinen Code aus...