Вводится число от 20 до 99. Написать программу, выводящую название этого числа (20 - двадцать и т.д.). надо написать код на питоне
я написала код, но мне выдает, что код проходит не все тесты. я пыталась найти ошибку, но попробовав все числа в данном диапазоне так и не нашла ее. вот код:
a=int(input())
if a//10==2:
print("Двадцать",end=" ")
if a//10==3:
print("Тридцать",end=" ")
if a//10==4:
print("Сорок",end=" ")
if a//10==5:
print("Пятьдесят",end=" ")
if a//10==6:
print("Шестьдесят",end=" ")
if a//10==7:
print("Семьдесят",end=" ")
if a//10==8:
print("Восемьдесят",end=" ")
if a//10==9:
print("Девяносто",end=" ")
if a%10==1:
print("один",end=" ")
if a%10==2:
print("два",end=" ")
if a%10==3:
print("три",end=" ")
if a%10==4:
print("четыре",end=" ")
if a%10==5:
print("пять",end=" ")
if a%10==6:
print("шесть",end=" ")
if a%10==7:
print("семь",end=" ")
if a%10==8:
print("восемь",end=" ")
if a%10==9:
print("девять",end=" ")
Ответы (3 шт):
Автор решения: Amgarak
→ Ссылка
Попробуйте так:
a = int(input())
tens = a // 10
units = a % 10
tens_words = {
2: "Двадцать",
3: "Тридцать",
4: "Сорок",
5: "Пятьдесят",
6: "Шестьдесят",
7: "Семьдесят",
8: "Восемьдесят",
9: "Девяносто"
}
units_words = {
1: "один",
2: "два",
3: "три",
4: "четыре",
5: "пять",
6: "шесть",
7: "семь",
8: "восемь",
9: "девять"
}
if tens in tens_words:
print(tens_words[tens], end=" ")
if units in units_words:
print(units_words[units], end=" ")
На крайний случай, объедините вывод в один print без end
Автор решения: CameL
→ Ссылка
Добрые люди сделали библиотеку
from num2words import num2words
print(num2words(123456789, lang='ru')) # сто двадцать три миллиона четыреста пятьдесят шесть тысяч семьсот восемьдесят девять
Автор решения: Алексей Р
→ Ссылка
Однострочник
print(f'''{" ".join((('', '', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'), ('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'))[i][j] for i, j in enumerate(divmod(int(input()), 10)))}'''.strip().capitalize())