BBC Micro Bit висит на коде

Я пытаюсь прочитать файл, содержащий инструкции для робота-черепахи в микропифоне, на микробите BBC, но когда я прошиваю свой код и добавляю правильные файлы, он просто зависает и, похоже, ничего не делает. Он отлично работает в Python на моей машине. Микропифон пропускает то, что я делаю, но не говорю мне?

Вот соответствующий код. Класс определен ниже этой функции, но я не включил этот код, поскольку он не имеет отношения к этому биту.

def processInstFile(fileName):
    writeBuffer = []
    writeBuffer.append("myturtle = turtle()\n")
    with open(fileName,'r') as instFile:
    for line in instFile:
        line=line.strip()
        if line[0] == "#":
            pass
        else:               
            if line.find("mf") != -1:
                writeBuffer.append("myTurtle.moveForward("+line[3:]+")\n")
            if line.find("mb") != -1:
                writeBuffer.append("myTurtle.moveBackward("+line[3:]+")\n")
            if line.find("t") != -1:
                writeBuffer.append("myTurtle.turnAngle("+line[2:]+")\n")
            if line.find("pu") != -1:
                writeBuffer.append("myTurtle.penUp()\n")
            if line.find("pd") != -1:
                writeBuffer.append("myTurtle.penDown()\n")
    with open("turtleScript.py",'w') as instOutput:
        for line in writeBuffer:
            instOutput.write(line)
    return

processInstFile("turtleinstr.py.p8l")
display.show(Image.HEART)

1 ответ

Похоже, вам нужно сделать отступ от первого оператора for до оператора return.

def processInstFile(fileName):
    writeBuffer = []
    writeBuffer.append("myturtle = turtle()\n")
    with open(fileName,'r') as instFile:
        for line in instFile:
            line=line.strip()
            if line[0] == "#":
                pass
            else:               
                if line.find("mf") != -1:
                    writeBuffer.append("myTurtle.moveForward("+line[3:]+")\n")
                if line.find("mb") != -1:
                    writeBuffer.append("myTurtle.moveBackward("+line[3:]+")\n")
                if line.find("t") != -1:
                    writeBuffer.append("myTurtle.turnAngle("+line[2:]+")\n")
                if line.find("pu") != -1:
                    writeBuffer.append("myTurtle.penUp()\n")
                if line.find("pd") != -1:
                    writeBuffer.append("myTurtle.penDown()\n")
    with open("turtleScript.py",'w') as instOutput:
        for line in writeBuffer:
            instOutput.write(line)
    return
Другие вопросы по тегам