Можно ли использовать словари с командами?
пытался написать функцию с черепашей графикой используя словарь вместо ветвления
import turtle
t = turtle.Turtle()
d = {'f':t.fd(50), '+':t.lt(90)}
for i in range(4):
d['f']
d['+']
но в итоге он рисует лишь одну линию и поворачивает черепаху, и на этом всё. Можно ли вообще так использовать словарь или я ерундой занимаюсь?
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Так вы создаете словарь строка-результат функции.
Чтобы вызывать функции используйте lambda:
import turtle
t = turtle.Turtle()
d = {
'f': lambda: t.fd(50),
'+': lambda: t.lt(90),
}
for i in range(4):
d['f']()
d['+']()
Еще так можно передать заготовленной функции значение:
import turtle
t = turtle.Turtle()
d = {
'f': lambda x: t.fd(x),
'+': lambda x: t.lt(x),
}
for i in range(4):
d['f'](50)
d['+'](90)