@fastym

Можно ли перебрать переменные по имени?

есть код в котором очень похожие переменные. Могу ли я их перебрать циклом по маске имени?

Сори за странную формулировку вопроса...

stay_horse = [0, 0]

cor1 = [stay_horse[0] - 2, stay_horse[1] - 1]
cor2 = [stay_horse[0] - 2, stay_horse[1] + 1]
cor3 = [stay_horse[0] - 1, stay_horse[1] + 2]
cor4 = [stay_horse[0] + 1, stay_horse[1] + 2]
cor5 = [stay_horse[0] + 2, stay_horse[1] + 1]
cor6 = [stay_horse[0] + 2, stay_horse[1] - 1]
cor7 = [stay_horse[0] + 1, stay_horse[1] - 2]
cor8 = [stay_horse[0] - 1, stay_horse[1] - 2]

for I in cor* - что-то вроде вот так
  • Вопрос задан
  • 87 просмотров
Решения вопроса 3
@serhiops
Python/JavaScript/C++
Сможете перебирать только если положите переменные в список или любой другой итерируемый обьект.
Ответ написан
Комментировать
@mayton2019
Bigdata Engineer
Если-бы cor были полями класса тогда через рефлексию наверное можно. Но это - путь в никуда.

По уму надо было изначально cor делать массивом.
Ответ написан
Комментировать
seven5674
@seven5674
Старый я уже что бы что-то в себе менять
for i in range(1, 9):
    print(locals()["cor"+str(i)])


Но это фиговая практика
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@bacon
можно, но это очень плохой тон, правильно - использовать dict, либо вообще list
Ответ написан
Комментировать
MinTnt
@MinTnt
vars(); locals(); globals();

import __main__

for x in dir(__main__):
    print(x, getattr(__main__, x))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы