Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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



Ответ
 
Опции темы
Старый 30.11.2017, 01:13   #1
ekatk
Новичок
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
Репутация: 10
Лампочка Выдать текст "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, 01:23   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,518
Репутация: 1681

icq: 216409213
По умолчанию

10 где будет?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 30.11.2017, 01:27   #3
ekatk
Новичок
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
Репутация: 10
По умолчанию

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

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

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, 15:14   #6
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,503
Репутация: 2041
По умолчанию

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

обычно перечисляются все частные случаи и добавляется ветка "все прочие".
Код:

if .... 
elif ...
elif ...
...
else ...//что будем  делать если ничего из перечисленного не подошло


__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 30.11.2017, 20:16   #7
ekatk
Новичок
 
Аватар для ekatk
 
Регистрация: 30.11.2017
Сообщений: 4
Репутация: 10
По умолчанию

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 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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




08:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru