🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Escriba un programa que acepte un número del 0 al 9999 y lo muestre con palabras en ruso. Si introduce un número fuera del rango, o si introduce algo que no sea un número, muestre en pantalla "Entrada no válida". SPAN>
Una línea que contiene un solo número del 0 al 9999 inclusive.
Una línea que contiene una representación verbal del número entre comillas.
1234
Mil doscientos treinta y cuatro
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("ввод не верный")
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...