У меня есть этот фрагмент кода, который «генерирует» центры фигур в моем графическом интерфейсе ... Проблема в том, что это слишком медленно, потому что решение итерирует слишком много. Поэтому мне интересно, как реализовать генератор, чтобы получить точное значение, которое мне нужно.
from pprint import pprint
def center(i, j):
s = 50
for k, v1 in enumerate(range(int(s / 2), s * 8, s)):
for n, v2 in enumerate(range(int(s / 2), s * 8, s)):
if (i, j) == (k, n):
return (v1, v2)
pprint(center(0,0)) # -> (25, 25)
pprint(center(6,3)) # -> (325, 175)
Итак, я сделал этот генератор:
def centerGenerator():
s = 50
for k in range(int(s / 2), s * 8, s):
for n in range(int(s / 2), s * 8, s):
yield k, n
def center(i, j):
for c in centerGenerator():
pass # how to take only c(i,j) from the Generator?
pprint(center(0,0)) # -> (25, 25)
pprint(center(6,3)) # -> (325, 175)
Но не знаю, как это реализовать. Есть мысли?