Виконати завдання
Створить програму котра дозволить писати слово порцій відповідно до правил української мови. Одна порція, дві три чотири порції 56789 порцій. Крім того нехай окрема друкується гривні та копійки. Знову ж з правильне написання в словах рядку чотири гривні але 9 гривень. Раджу додати команду if .
Ответы
def ukrainian_number_to_words(number):
units = ['', 'один', 'два', 'три', 'чотири', 'п\'ять', 'шість', 'сім', 'вісім', 'дев\'ять']
teens = ['десять', 'одинадцять', 'дванадцять', 'тринадцять', 'чотирнадцять', 'п\'ятнадцять', 'шістнадцять', 'сімнадцять', 'вісімнадцять', 'дев\'ятнадцять']
tens = ['', '', 'двадцять', 'тридцять', 'сорок', 'п\'ятдесят', 'шістдесят', 'сімдесят', 'вісімдесят', 'дев\'яносто']
hundreds = ['', 'сто', 'двісті', 'триста', 'чотириста', 'п\'ятсот', 'шістсот', 'сімсот', 'вісімсот', 'дев\'ятсот']
thousands = ['тисяча', 'тисячі', 'тисяч']
millions = ['мільйон', 'мільйони', 'мільйонів']
if number < 0 or number >= 1000000000:
return 'непідтримуване число'
if number == 0:
return 'нуль'
words = []
millions_digit = number // 1000000
if millions_digit > 0:
words.append(ukrainian_number_to_words(millions_digit) + ' ' + millions[2])
number %= 1000000
thousands_digit = number // 1000
if thousands_digit > 0:
words.append(ukrainian_number_to_words(thousands_digit) + ' ' + thousands[2])
number %= 1000
if number > 0:
if number >= 100:
words.append(hundreds[number // 100])
number %= 100
if number >= 10 and number <= 19:
words.append(teens[number % 10])
else:
if number >= 20:
words.append(tens[number // 10])
number %= 10
if number >= 1 and number <= 9:
words.append(units[number])
return ' '.join(words)
def print_money(amount):
hryvnia = amount // 1
kopiika = round((amount - hryvnia) * 100)
hryvnia_word = ukrainian_number_to_words(hryvnia)
if hryvnia == 1:
hryvnia_word += ' гривня'
elif hryvnia >= 2 and hryvnia <= 4:
hryvnia_word += ' гривні'
else:
hryvnia_word += ' гривень'
kopiika_word = str(kopiika)
if kopiika == 1:
kopiika_word += ' копійка'
elif kopiika >= 2 and kopiika <= 4:
kopiika_word += ' копійки'
else:
kopiika_word += ' копійок'
print(hryvnia_word + ' ' + kopiika_word)
portion_word = 'порція'
if hryvnia >= 2 and hryvnia <= 4:
portion_word += 'и'
elif hryvnia >= 5:
portion_word += 'ій'
print('1 ' + portion_word)
for i in range(2, 5):
print(str(i) + ' ' + portion_word + 'и')
for i in range(5, 10):
print(str(i) + ' ' + portion_word)