Предмет: Информатика,
автор: flexstar
ЯЗЫК python
Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес — отгружать апельсины бочками. Партнёрам важно знать, сколько именно бочек апельсинов отгружается каждый день.
Мобильный телефон Василия поддерживает только транслит, поэтому он передаёт сообщения вида "n bochek". Например, "3 bochki" или "1 bochka".
Напишите программу, которая выбирает правильное слово (из "bochka" , "bochek" , "bochki" ) в зависимости от значения n.
Входные данные
Одно целое число n (0≤n≤1000).
Выходные данные
Соответствующая фраза на транслите (см. примеры).
Примеры
Ввод
Вывод
3
3 bochki
1
1 bochka
15
15 bochek
Ответы
Автор ответа:
1
Первый способ)
str_ends = ['ek','ka',*['ki']*3,*['ek']*5]
num = int(input('Введите значение n: '))
num_end = 0 if num //10 % 10 == 1 else num % 10
print(f'{num} boch{str_ends[num_end]}')
Второй способ) (красивый, но возможно трудный для понимания)
ends = ['ek','ka',*['ki']*3,*['ek']*15,*['ek','ka',*['ki']*3,*['ek']*5]*8]
num = input('Введите число n: ')
end = int(num[-2:])
print(f'{num} boch{ends[end]}')
Приложения:
Автор ответа:
1
Ответ:
a=int(input())
if (a%10==1 or a==1) and a!=11:
print(a, "bochka")
elif (a%10==2 or a%10==3 or a%10==4) and (a!=12 and a!=13 and a!=14):
print(a, "bochki")
else:
print(a, "bochek")
Объяснение:
Ну вот так)
Похожие вопросы
Предмет: Русский язык,
автор: olga090680
Предмет: Русский язык,
автор: melehinavera20
Предмет: Английский язык,
автор: 2aa35aa
Предмет: Русский язык,
автор: LADARUS
Предмет: Английский язык,
автор: Siucide
if N <= 10 or N >= 20:
if (N % 10) == 0 or ((N % 10) >= 5 and (N % 10) <= 9):
print(str(N) + " bochek")
elif (N % 10) == 1:
print(str(N) + " bochka")
else:
print(str(N) + " bochki")
else:
print(str(N) + " bochek")