Форум сайта python.su
2
Изучение Python начал недавно, поэтому вопрос может быть не совсем правильно сформирован.
Допустим, имеется большое количество объектов (кнопки и прочее), различающиеся в названии только номером. И имеется некое условие, при выполнении которого должно происходить изменение конкретного объекта (допустим, цвет или надпись кнопки). Каким образом можно реализовать код так, чтобы во время проверки условия, выполнялось данное действие, без перебора всех объектов в коде?
Офлайн
857
Нужно найти этот объект, перебрав все объекты, и дать ему его отдельное имя. А потом, при проверке условия, обратиться к нему уже по этому отдельному имени.
Офлайн
2
py.user.next
Нужно найти этот объект, перебрав все объекты, и дать ему его отдельное имя. А потом, при проверке условия, обратиться к нему уже по этому отдельному имени.
Офлайн
857
Приведи код и опиши, что ты пытаешься сделать.
Офлайн
2
py.user.next
Приведи код и опиши, что ты пытаешься сделать.
Офлайн
857
RichigoСделай дополнительную структуру данных. В ней будут храниться пары <набор данных, кнопка>. Когда надо будет передавать данные из набора данных кнопке, то просто будет задействоваться эта структура данных, которая и будет хранить информацию о том, какой набор данных с какой кнопкой связан.
Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве.
Офлайн
2
py.user.nextОпять-таки, структура данных это лишние строки кода, даже, если они не используются постоянно, хотелось бы, что-то работающее автоматически без дополнительных структур
Офлайн
124
RichigoВы что программист -теоретик?
Кода не
RichigoНу допустим есть список, в нём что-то находится по индексам, кнопка при нажатии возвращает индекс за ней закреплённый, кнопка0 - вернёт 0, объект = список[0
Допустим, есть 100 кнопок button1..button100
Отредактировано xam1816 (Ноя. 22, 2022 07:34:27)
Офлайн
857
RichigoК номерам в названии нельзя привязываться. Когда такой код будет сделан, то будет невозможно переименовать кнопки в более удобные названия или вообще убрать названия у них и переместить их в массив какой-нибудь.
Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве. То есть, хот5лось бы получить что-то на подобии перебора массива со ссылкой на ту кнопку (или другой объект), который, например, имеет такойже номер в названии, как и номер ячейки массива.
RichigoЭто тебе кажется, что лишние строки кода - это проблема. Наоборот, проблема возникнет, когда у тебя будет короткий код в одну строчку. Когда надо будет что-то поменять или добавить, тебе придётся весь этот код стирать и писать заново с новой добавкой. Так надо будет делать каждый раз. А потом, когда таких кодов накопится несколько сотен штук, тебе придётся либо оставлять программу в старом виде всё время, либо всё время писать всю программу заново при любых мелких изменениях в её функциональности.
Опять-таки, структура данных это лишние строки кода, даже, если они не используются постоянно
Отредактировано py.user.next (Ноя. 22, 2022 07:25:45)
Офлайн
2
xam1816В данный момент, я хочу понять алгоритм, который можно реализовать в языке, так что, видимо, да)
Офлайн