🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Écrivez un programme qui accepte un nombre de 0 à 9999 et l'affiche en toutes lettres en russe. Si vous saisissez un nombre en dehors de cette plage, ou si vous saisissez autre chose qu'un nombre, affichez le message « Saisie incorrecte » à l'écran. SPAN>
Une ligne contenant un seul nombre de 0 à 9999 inclus.
Une ligne contenant une représentation verbale du nombre entre guillemets.
1234
Mille deux cent trente-quatre
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("ввод не верный")
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...