Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2017, 00:13   #1
ekatk
Новичок
Джуниор
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
Лампочка Выдать текст "n программист(-а) (-ов)" с корректным окончанием. Я не программист, я только учусь!

Помогите понять что не так с моим кодом, у мня все запускается и на всех примерах работает, но в тесте мой код не проходит. Заранее спасибо

Задача:
В институте биоинформатики по офису передвигается робот. Недавно студенты из группы программистов написали для него программу, по которой робот, когда заходит в комнату, считает количество программистов в ней и произносит его вслух: "n программистов".

Для того, чтобы это звучало правильно, для каждого n

нужно использовать верное окончание слова.

Напишите программу, считывающую с пользовательского ввода целое число n

(неотрицательное), выводящее это число в консоль вместе с правильным образом изменённым словом "программист", для того, чтобы робот мог нормально общаться с людьми, например: 1 программист, 2 программиста, 5 программистов.

В комнате может быть очень много программистов. Проверьте, что ваша программа правильно обработает все случаи, как минимум до 1000 человек.

Sample Input 1:
5
Sample Output 1:
5 программистов
Sample Input 2:
0
Sample Output 2:
0 программистов

Мое решение:

n=int(input())
if n%100 in [0,11, 12, 13, 14]:
print(str(n) + " программистов")
elif n%10 in [2,3,4]:
print(str(n) + " программиста")
elif n%10 in [1]:
print(str(n) + " программист")
elif n%10 in [5,6,7,8,9]:
print(str(n) + " программистов")


Если можно не пишите сразу как должно быть, а просто подскажите на что смотреть, почему то мне кажется что в принте я пишу что-то неверно, но я вроде уже использовала все известные мне пока варианты.
Заранее спасибо!
ekatk вне форума Ответить с цитированием
Старый 30.11.2017, 00:23   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

10 где будет?
p51x вне форума Ответить с цитированием
Старый 30.11.2017, 00:27   #3
ekatk
Новичок
Джуниор
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
По умолчанию

О, да! Благодарю, упустила.
Но после исправления тест все равно ругается:
"Failed test #11. Cannot check answer. Perhaps output format is wrong."
ekatk вне форума Ответить с цитированием
Старый 30.11.2017, 03:22   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Так покажите последний код
Black Fregat вне форума Ответить с цитированием
Старый 30.11.2017, 12:10   #5
ekatk
Новичок
Джуниор
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
По умолчанию

n=int(input())
if n%100 in [0,10, 11, 12, 13, 14]:
print(str(n) + " программистов")
elif n%10 in [2,3,4]:
print(str(n) + " программиста")
elif n%10 in [1]:
print(str(n) + " программист")
elif n%10 in [5,6,7,8,9]:
print(str(n) + " программистов")
ekatk вне форума Ответить с цитированием
Старый 30.11.2017, 14:14   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

по какой ветке пойдут 90 программистов.

обычно перечисляются все частные случаи и добавляется ветка "все прочие".
Код:
if .... 
elif ...
elif ...
...
else ...//что будем  делать если ничего из перечисленного не подошло
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 30.11.2017, 19:16   #7
ekatk
Новичок
Джуниор
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
По умолчанию

n=int(input())
if n%100 in [0,10, 11, 12, 13, 14]:
print(str(n) + " программистов")
elif n%10 in [2,3,4]:
print(str(n) + " программиста")
elif n%10 in [1]:
print(str(n) + " программист")
elif n%10 in [0,5,6,7,8,9]:
print(str(n) + " программистов")

поставила ноль и все работает, спасибо
ekatk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивами. только учусь lisica198808 PHP 3 06.06.2016 15:04
Программист 1С для настройки CRM, только Москва Alex$ Фриланс 0 06.08.2012 13:30
Как выдать текст только заглавными буквами IVR Microsoft Office Excel 2 25.11.2009 17:13