Size: a a a

Беседка Perl-групп

2020 January 13

AP

Anton Petrusevich in Беседка Perl-групп
гы
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
вчера сел ребёнку на малинке програмку сочинить. блин, вот скажите мне, к долбанутым питоновским циклам можно привыкнуть или они каждый раз вызывают неприятные чувства? я конкретно про циклы по индексу. вот, например, есть массив пинов, на которых будет менять сигнал, цикл по нему в обратном порядке:
for i in range(len(pins))-1, -1, -1):
— это нормально вообще?
А зачем так? Чем не нравится


for pin in reversed(pins)

?
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
вчера сел ребёнку на малинке програмку сочинить. блин, вот скажите мне, к долбанутым питоновским циклам можно привыкнуть или они каждый раз вызывают неприятные чувства? я конкретно про циклы по индексу. вот, например, есть массив пинов, на которых будет менять сигнал, цикл по нему в обратном порядке:
for i in range(len(pins))-1, -1, -1):
— это нормально вообще?
А вот за  такой пример на код-ревью бьют ;) потому что не идиоматично
источник

AP

Anton Petrusevich in Беседка Perl-групп
pragus
А зачем так? Чем не нравится


for pin in reversed(pins)

?
Это был первый пример. Затем надо было идти по массиву от середины
источник

AP

Anton Petrusevich in Беседка Perl-групп
pragus
А вот за  такой пример на код-ревью бьют ;) потому что не идиоматично
Я не питонист ни разу. Но привычный цикл пытался там найти
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
Это был первый пример. Затем надо было идти по массиву от середины
В прямом или обратном порядке?
источник

p

pragus in Беседка Perl-групп
В обоих случаях это делается через слайсы

https://pythonz.net/references/named/slice/
источник
2020 January 14

AP

Anton Petrusevich in Беседка Perl-групп
pragus
А зачем так? Чем не нравится


for pin in reversed(pins)

?
кстати, про реверсед пинс — не нужно перебирать сам массив, нужны были именно индексы, поскольку там разом несколько элементов использовалось. светодиоды гоняли по приколу. но на питоне это оказалось черезжопно
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
кстати, про реверсед пинс — не нужно перебирать сам массив, нужны были именно индексы, поскольку там разом несколько элементов использовалось. светодиоды гоняли по приколу. но на питоне это оказалось черезжопно
Покажи итоговый код.
источник

AP

Anton Petrusevich in Беседка Perl-групп
не покажу. и даже не потому, что жадный, а потому, что он на малинке, она упакована в детской комнате, дети спят. ну и к тому же он не "итоговый", он много раз переписывался под разные варианты движения светодиодов
источник

AP

Anton Petrusevich in Беседка Perl-групп
pragus
Покажи итоговый код.
вот простая задача. пройти по целочисленным индексам. и тут появляются какие то странные reverse, enumerate, range... — я задолбался рассказывать зачем они нужны
источник

AP

Anton Petrusevich in Беседка Perl-групп
и это не говоря о дебильной записи len
источник

AP

Anton Petrusevich in Беседка Perl-групп
ваш питон уже объектный, неужели трудно массивы считать объектами, дать им методы-свойства?
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
ваш питон уже объектный, неужели трудно массивы считать объектами, дать им методы-свойства?
так есть же эти методы. Зови .__len__()
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
вот простая задача. пройти по целочисленным индексам. и тут появляются какие то странные reverse, enumerate, range... — я задолбался рассказывать зачем они нужны
Надо просто рассказать про итераторы
источник

AP

Anton Petrusevich in Беседка Perl-групп
ну мне то откуда знать. я гуглу вбил "python for loop", мне про этот len не рассказали, да и лишние подчёркивания лично мне непонятны и подбешивают
источник

p

pragus in Беседка Perl-групп
насколько я помню, range/enumerate  создают итератор
источник

AP

Anton Petrusevich in Беседка Perl-групп
pragus
Надо просто рассказать про итераторы
ну да и интегралы в 6 классе рассказать
источник

AP

Anton Petrusevich in Беседка Perl-групп
а просто нормальный цикл "от и до" нельзя было сделать?
источник

p

pragus in Беседка Perl-групп
Anton Petrusevich
ну да и интегралы в 6 классе рассказать
Причем тут интегралы? Итераторы - довольно простая штука
источник