Есть ли способ свести на нет функцию, чтобы она возвращала негативы. В моей функции у меня есть условные обозначения, и каждый из них делает эту «черепаху». Есть ли способ отрицать это, поэтому каждый ход черепахи отрицательный. Я говорю о состоянии «=».Отменить функцию в python
def ttInterpret(program):
"""
interpret program as a TinyTurtle language string.
program -- a TinyTurtle string, possibly with string manipulation symbols
"""
stor_pos = turtle.pos()
spec_index = 0
for ch in program:
if ch >= '0' and ch <= '9':
turtle.fd(int(ch) * 10)
elif ch == '<':
turtle.left(15)
elif ch == 'L':
turtle.left(90)
elif ch == '>':
turtle.right(15)
elif ch == 'R':
turtle.right(90)
elif ch == ' ':
pass
elif ch == '@':
# ttInterpret(program[:program.index(ch):-1])
stor_pos = turtle.pos() #keeps track of when @ was used
spec_index = program.index(ch) #returns the index of the most recent specified character
elif ch == '/':
fds_index = program.index(ch) #returns last '/' index
ttInterpret(program[spec_index:fds_index - 1])
# while ch != '/':
# ttInterpret(-program[ch::-1])
elif ch == '!':
turtle.setpos(stor_pos)
elif ch == '=':
ttInterpret(program[:int(program.index(ch)):-1]) #returns to start
ttInterpret(program[:int(program.index(ch)):1]) #mirrors from start
else:
print("Error: ", ch," is not supported by TinyTurtle")
return
Пожалуйста, [исправьте * кодовый блок *] (http://meta.exetchange.com/q/22186). – wwii
Я пытаюсь отрицать функцию ttinterpret в case = case, и это рекурсивный вызов. (его предназначено для зеркалирования изображения, кстати) – matttm
Вы можете использовать словари для сопоставления символов методам черепахи - один для * вперед * и один для * реверса *, а затем переключение словарей, когда это необходимо. – wwii