170 похожих чатов

Так разве нельзя использовать тернарочку?

68 ответов

16 просмотров

Нет

Сергей-Васильев Автор вопроса
Yaro
Нет

значит только так? Хотел чтоб поменьше кода было

else reward ==

Вообще на PEP8 смотри

Не работает из-за +=

Не будет. Ты селф.ро ничего не присваиваешь

Представь что ты индус и платят за строчки

Сергей-Васильев Автор вопроса
Оцелотег
Не будет. Ты селф.ро ничего не присваиваешь

не могу понять, имеешь ввиду, что присвоения не произойдет из за того, что это тернарка? Я просто переписал оператор += без синтаксического сахара. Тернарка вроде бы такой вид имеет [if_true] if [expression] else [if_false]

Сергей Васильев
не могу понять, имеешь ввиду, что присвоения не пр...

Ты пишешь селф.ро присвоить что-то, если выполняется условие. А если не выполняется ты селф.ро пытаешься присвоить выражение где присваиваешь другой переменной значение. И получается при невыполнении условия: селф.ро = рефард = -1 Питон не знает что делать с двумя равно в строке

NKT
a = b = c = 1 Получается знает

Почему не работает тогда?

Оцелотег
Почему не работает тогда?

Потому что что делает тернарка?

Сергей-Васильев Автор вопроса
Оцелотег
Ты пишешь селф.ро присвоить что-то, если выполняе...

кажется до меня дошло. Получается в елс можно писать только значение для присвоения, а не другие команды, как это можно сделать в обычном if-else

Типо того

Сергей-Васильев Автор вопроса
Оцелотег
Типо того

хотя в таком виде работает

Сергей Васильев
хотя в таком виде работает

Надеюсь ты нигде не работаешь программистом

Сергей Васильев
хотя в таком виде работает

Ну да. Потому что функция прини чото делает. А присвоение ничего не возвращает

Сергей Васильев
хотя в таком виде работает

почему бы не написать обычный иф?

Сергей-Васильев Автор вопроса
Tishka17
почему бы не написать обычный иф?

да так, спортивный интерес

NKT
А нон для тебя какая то шутка?

Почему тогда нон не присваетваится его селф.ро?

Сергей Васильев
хотя в таком виде работает

a = int(input()) print('a == 10' if a == 10 else 'a != 10')

Оцелотег
Почему тогда нон не присваетваится его селф.ро?

у тебя написано self.ro = выражение = -1, так нельзя

Сергей Васильев
значит только так? Хотел чтоб поменьше кода было

вот тут бы ещё после else: новую строку начать и норм будет

Tishka17
у тебя написано self.ro = выражение = -1, так нел...

Почему вырадение если там тлже переменная? Если без += переписать

Tishka17
вот тут бы ещё после else: новую строку начать и н...

Ты не понимаешь.. Ему просто убавляют зарплату за каждую новую строку

Сергей-Васильев Автор вопроса
EXTRANESUS
Что это за проверка вообще?

проверка на то что сумма двух переменных будет по итогу находится в заданном диапазоне. Да, я неудачно выбрал имя переменной range

Оцелотег
Почему вырадение если там тлже переменная? Если бе...

где переменная? там вполне себе тернарное выражение и ещё куча всего

Оцелотег
Почему вырадение если там тлже переменная? Если бе...

у тебя там посередине написано (self.ro + ro_delta) if (...) else reward

Сергей-Васильев Автор вопроса

там всего 2 элемента, начало диапазона и его конец

ну типо тернарное выражение не преобразуется в его результат в зависимости от условия?

Оцелотег
ну типо тернарное выражение не преобразуется в его...

питона работает так x = y = выражение. Считается правое выражение и присваивается в то, что указано левее. Если выражение для вычисления не српава - ничего работать не будет

Сергей Васильев
там всего 2 элемента, начало диапазона и его конец

А ты вообще уверен, что тебе нужно это в отдельную функцию выносить?

Сергей-Васильев Автор вопроса
NKT
Смотри

И да, я не против чтобы надо мной стебались, но только в том случае, если мой вопрос будет решен

Сергей-Васильев Автор вопроса
EXTRANESUS
А ты вообще уверен, что тебе нужно это в отдельную...

нет, я для теста ее написал, чтоб понять как это работает

Оцелотег
ну типо тернарное выражение не преобразуется в его...

Тернарка a = 1 if True else 0 Это тоже самое что if True: a = 1 else: a = 0 И вот теперь что ты можешь подставить вместо 1 и 0?

NKT
Тернарка a = 1 if True else 0 Это тоже самое что ...

я бы сказал a = 1 if True else 0 это как if True: tmp = 1 else: tmp = 0 a = tmp

Tishka17
не совсем

Как считаешь, спортивное программирование помогает в промышленном программировании, или это скорее негативный опыт?

Vladislav
Как считаешь, спортивное программирование помогает...

спортивное программирование на первых этапах помогает, потом - нет

Есть один способ, но он является примером того, как делать никогда не нужно self.ro = ro_delta if (...) else (reward := reward - 1)

NKT
Тернарка a = 1 if True else 0 Это тоже самое что ...

ну я так и сказал, но оказалось что это не совсем так

Оцелотег
ну я так и сказал, но оказалось что это не совсем ...

Вот та же тернарка. Что ты можешь передать в left, right?

Оператор присваивания. if x := some_func(): print(x) Вместо x = some_func() if x: print(x) Но мне он не нравится, не самая очевидная вещь при чтении кода

EXTRANESUS
Оператор присваивания. if x := some_func(): p...

глянул уже да def foo(a, b): print (a, b) foo (1, x:=5)

Зачем так писать?

Оцелотег
глянул уже да def foo(a, b): print (a, b) foo...

Ну вот это работает, конечно, но не читается. Я не знаю, в какой ситуации это может пригодиться

Yaro
Зачем так писать?

Мы просто смотрим

Tishka17
ужасное

ну так-то a = b =1 и a, b = b, a тоже не то чтобы верх эстетичности)

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
{!! $modx->runSnippet( 'multiTV',[ 'tvName'=>'slider-main1', 'docid'=>'[*id*]', 'tplConfig'=>'', 'display'=>'4', 'offset'=>'0', 'rows'=>'all', 'ra...
Роман С
4
Из рассылки The Lazarus team is glad to announce the release of Lazarus 3.4. This is a bugfix release and was built with FPC 3.2.2. Here is the list of changes for Lazarus...
Ed Doc
4
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Карта сайта