Python

Python простейшая программа на окончание слова

мне дали 3 задания из них я не понял как делать только одно, помогите с решением пожалуйста

Написать программу, которая спрашивает у пользователя число, после этого выводит строку типа: 2 компьютера. В зависимости от введенного числа, программа должна корректно подставлять окончание для слово компьютер

Пример:

Ввод: Пользователь ввел число 12

Вывод: 12 компьютеров
 x = int(input()) 
word = 'компьютер'
end = 'ов'
if x // 10 != 1:
if x % 10 in (2, 3, 4):
end = 'а'
elif x % 10 == 1:
end = ''
print(f'{x} {word}{end}')
Евгений Каплун
Евгений Каплун
18 091
Лучший ответ
Константин Доманов огромное спасибо
Александр Петров это не правильно. По вашему коду, когда введут число 11, то получится:
11 компьютер.
или 24 компьютеров. Что полностью неправильно.
Сам сейчас пытаюсь это написать.
Это классика.. сравнивать число
если заканчивается на 1, но не 11, то без окончания
если -"- на 2,3,4 но больше 20 или меньше 10, то <а>
остальное <ов>
проверьте логику, мог косячнуть, просто идею набрасывал
Максим Гуничев
Максим Гуничев
13 084
не работает
вот рабочая:
x = int(input())
word = 'компьютер'
end = 'ов'
if x % 100 != 11:
if x in (2, 3, 4):
end = 'а'
elif x % 10 == 1:
end = ''
print(f'{x} {word}{end}')
KJ
Kojoyar Jumabekov
195
Александр Петров рабочая, но неправильная.
у вас будет 12 компьютера
Kojoyar Jumabekov неправда. проверьте!!!
если 12, то первое условие выполняется, но второе и третье нет, поэтому окончание не меняется и в итоге ОВ. 12 компьютеров.
Дима Ищенко ты че чертила афигел фейк инфу заливать
Тебя ввели в заблуждение, но я переделал их код и у меня получился полностью рабочий и правильный вариант:

 a = int(input('Введите число: '))  
word = 'компьютер'
end = 'ов'

if a in (11, 12, 14, 13):
end = 'ов'
else:
if a % 10 in (2, 3, 4):
end = 'а'
elif a % 10 == 1:
end = ''
print(f'{a} {word}{end}')
или же я сделал свой и немного доработал его:

 a = int(input('Введите число: ')) 
b = a % 10
if a in (11, 12, 13, 14):
print(f'{a} компьютеров')
else:
if b == 1:
print(f'{a} компьютер')
if b in (2, 3, 4):
print(f'{a} компьютера')
if b in (5, 6, 7, 8, 9, 0):
print(f'{a} компьютеров')
спасибо, мы похоже на одном курсе
здаров однокурсник:)