@python_beginnersЭта группа больше не существует

Страница 168 из 1885
Denis
22.07.2016
13:52:13
По неизвестным мне причинам те, кто учит питон на степике, задают в среднем в несколько раз больше вопросов, чем те, кто учит его не там

Jeremiah
22.07.2016
13:52:17
Не хочу кидать ответ, хочу убедиться что работает норм

Google
Темный
22.07.2016
13:53:34
Не хочу кидать ответ, хочу убедиться что работает норм
там вроде не нужно самому код вводить

число*

mey
22.07.2016
13:53:56
Киньте задачу, заинтересовали

Все про нее постоянно говорят

Jeremiah
22.07.2016
13:54:50
Темный
22.07.2016
13:54:50
да выводить: если 1, то программиСТ, если 2, то программиСТА

Фԉùཎыч⚠️
22.07.2016
13:55:10
Я тебе в лс кину
И мне давай

Темный
22.07.2016
13:55:29
там на логику, а не на питон

Jeremiah
22.07.2016
13:55:45
Andrew
22.07.2016
13:56:22
я могу скинуть решение

Темный
22.07.2016
13:56:27
лучше изучить алгоритмы, чем потратить такое кол-во времени на такую задачу

Andrew
22.07.2016
13:56:36
кому решение?

Jeremiah
22.07.2016
13:56:42
я могу скинуть решение
Не не не, самому же интересно

Google
Denis
22.07.2016
13:56:46
Темный
22.07.2016
13:57:01
кому решение?
оно гуглится

Andrew
22.07.2016
13:57:26
оно гуглится
так не интересно что оно гуглится :( просто когда-то меня кто-то просил это решить

Denis
22.07.2016
13:57:53
Я когда-то писал генератор кода на паскале, который решает эту задачу тысячей ифов

Andrew
22.07.2016
13:58:09
а зачем так много ифов

Denis
22.07.2016
13:58:21
Ограничение до 1000

Темный
22.07.2016
13:58:22
1, 2, 3, и тд)

Denis
22.07.2016
13:58:35
Только это не на степике было

Jeremiah
22.07.2016
14:18:14
Так

Теперь объясните мне мою ошибку

Дальше будут спойлеры

a = int(input()) q = (a % 100) % 10 if (a == 0 or a == 10) or (q >= 5 and q <= 9) or 11 >= a <= 14: print(a, 'программистов') elif a == 1 or q == 1 and a > 11: print(a, 'программист') elif (a >= 2 and a <= 4) or (q >= 2 and q <= 4): print(a,'программиста')

Почему на 1 все равно пишет программистОВ

Я ведь написал что есла а равно 1,то программист

А в первой строке иф, у меня ничего не равно 1

Jeremiah
22.07.2016
14:21:21
Зачем?

Темный
22.07.2016
14:21:49
затем.

Jeremiah
22.07.2016
14:22:01
Весь код?

Google
Denis
22.07.2016
14:22:07
11 <= a <= 14

Темный
22.07.2016
14:22:22
да, весь. Имею ввиду тут отформатируй, в телеге

Jeremiah
22.07.2016
14:22:35
11 <= a <= 14
Точно

Так, вроде все верно написал

Теперь остались сотые числа с 11

211

311

Как это добавить в исключение?

Zart
22.07.2016
14:46:12
q = (a % 100) % 10 а нахера такое?

Jeremiah
22.07.2016
14:46:23
Тут уже я без сил

q = (a % 100) % 10 а нахера такое?
А какое нахера лучше?

Denis
22.07.2016
14:46:52
11 <= a%100 <= 14

Zart
22.07.2016
14:46:54
почему не q = a % 10 тогда?

Jeremiah
22.07.2016
14:48:05
Вчера с этого начал

Zart
22.07.2016
14:52:32
x = int(input()) suffix = ('ов' if x % 100 in range(10, 20) else '' if x % 10 in range(1, 2) else 'a' if x % 10 in range(2, 5) else 'ов') print('{} программист{}'.format(x, suffix))

Jeremiah
22.07.2016
14:54:07
11 <= a%100 <= 14
Да, но у меня во второй строке стоит условие q == 1 and a > 11

Google
Jeremiah
22.07.2016
14:54:53
Да, но у меня во второй строке стоит условие q == 1 and a > 11
Надо исключить это условие для сотен

Бля, утром так все хорошо шло, а щас такой тупизм

Короче

Я знаю что я вас достал

но вот код

a = int(input()) q = (a % 100) % 10 if (a == 0 or a == 10) or (q >= 5 and q <= 9) or 11 <= a <= 14 or q == 0 or a % 100 == 11: print(a, 'программистов') elif a == 1 or q == 1 and a > 11: print(a, 'программист') elif (a >= 2 and a <= 4) or (q >= 2 and q <= 4): print(a,'программиста')

Но степик не хавает ее

В чем проблема?

Zart
22.07.2016
15:04:34
потому что неправильное говно

Jeremiah
22.07.2016
15:04:55
потому что неправильное говно
Укажи мне пожалуйста, где именно оно неправильно

Admin
ERROR: S client not available

Zart
22.07.2016
15:05:13
первый иф делает меня грустной пандой

112 проверь

Jeremiah
22.07.2016
15:06:28
Фак

112 проверь
Спасибо кэп

Zart
22.07.2016
15:07:09
внимательно изучи мой вариант и сравни со своим забором ифов

x in range(a, b) аналогично условию a <= x < b

Viktor
22.07.2016
15:26:42
Zart
22.07.2016
15:27:29
но почти всегда 8))

Sergey
22.07.2016
15:28:19
Не всегда
В остальных случаях is

Google
Sergey
22.07.2016
15:29:46
Нет
pep8?

Zart
22.07.2016
15:30:16
а причем здесь пеп8?

Sergey
22.07.2016
15:39:00
а причем здесь пеп8?
А? Comparisons to singletons like None should always be done with is or is not , never the equality operators.

Zart
22.07.2016
15:40:17
я не уверен что спек гарантирует синглетонность тру и фолс

и я гарантирую что в айронпитоне они не синглетоны

Sergey
22.07.2016
15:43:46
Надо спек глянуть, конечно, я бегло найти не смог, но все тулзы для статического анализа кода (flake8/pylint/etc) считают их синглетонами

Zart
22.07.2016
15:43:59
флаг им в жопу

Jeremiah
22.07.2016
15:44:54
Все спасибо огромное

флаг им в жопу
Особенно тебе

почему не q = a % 10 тогда?
Просто ровно все понял и начал по новой писать, особенно вот это помогло

a = int(input()) q = a % 10 q2 = a % 100 if q == 0 or 5 <= q <= 9 or 11 <= a <= 14 or 11 <= q2 <= 14: print(a, 'программистов') elif a == 1 or q == 1: print(a, 'программист') elif 2 <= q <= 4: print(a, 'программиста')

для спортивного интереса, вот решение

Zart
22.07.2016
15:47:26
elif a == 1 or q == 1: проверка с а тут лишняя

Sergey
22.07.2016
15:47:56
флаг им в жопу
Я то же самое могу сказать про ironpython)

Zart
22.07.2016
15:48:15
рискни

Sergey
22.07.2016
15:48:20
уже

Jeremiah
22.07.2016
15:48:34
elif a == 1 or q == 1: проверка с а тут лишняя
q == 1 достаточно было бы имеешь ввиду?

Темный
22.07.2016
15:48:34
флаг им в жопу
а они и не против

Zart
22.07.2016
15:49:00
q == 1 достаточно было бы имеешь ввиду?
ну да. при а==1 это тоже будет выполняться, поэтому смысла в особом случае никакого

Jeremiah
22.07.2016
15:49:50
ну да. при а==1 это тоже будет выполняться, поэтому смысла в особом случае никакого
Ясн, такая же фигня была в ифе (a==0orq==0), а здесь не заметил

Zart
22.07.2016
15:51:52
проверка на is True, is False один хрен бесмыслиннаяхуита

Страница 168 из 1885

Эта группа больше не существует Эта группа больше не существует