Предмет: Информатика, автор: Romanprokhov

Решить в Python срочно Напишите процедуру,которая выводит переданное ей число прописью.Например,21->"двадцать один".Диапозон от 0 до 100


personanonim22: def f(n):
if n == 1:
print('один')
exit()
elif n == 2:
print('два')
exit()
elif n == 3:
print('три')
exit()

elif n == 100:
personanonim22: Нету место для символов

Ответы

Автор ответа: mirageKZ
1

Да хоть до 1000

n1 = {1: 'один', 2: 'два', 3: 'три', 4: 'четыре', 5: 'пять', \

             6: 'шесть', 7: 'семь', 8: 'восемь', 9: 'девять', 10: 'десять', \

            11: 'одиннадцать', 12: 'двенадцать', 13: 'тринадцать', 14: 'четырнадцать', \

            15: 'пятнадцать', 16: 'шестнадцать', 17: 'семнадцать', 18: 'восемнадцать', 19: 'девятнадцать'}

n10 = {2: 'двадцать', 3:'тридцать', 4:'сорок', 5:'пятьдесят', 6:'шестьдесят', 7:'семьдесят', 8:'восемьдесят', 9:'девяносто'}

n100= {1:'сто', 2:'двести', 3:'триста', 4:'четыреста', 5:'пятьсот', 6:'шестьсот', 7:'семьсот',\

      8:'восемьсот', 9:'девятьсот'}

def getNum(n):

   s=''

   if 0 <= n <= 19:

       return n1[n]

   elif 20 <= n <= 99:

       a10, a1 = divmod(n, 10)

       if a10  : s = n10[a10]+ ' '

       if a1   : s = s + n1[a1]

       return s

   elif 100 <= n <= 999:

       a100, a10 = divmod(n, 100)

       if a10 > 0: s=getNum(a10)

       s = n100[a100]+ ' '+ s

       return s

r=int(input('Введите число от 0 < n < 1000:'))

print(getNum(r))

Похожие вопросы
Предмет: Русский язык, автор: Алина201486