英国广播公司微比特挂在鳕鱼

2024-09-29 21:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在BBC的micro-bit上读取一个包含海龟机器人micropython指令的文件,但当我刷新代码并添加正确的文件时,它只是挂起,似乎什么都不做。它在我的机器上用python运行得很好。micropython是否遗漏了我正在做但没有告诉我的事情?你知道吗

这是相关代码。在这个函数下面定义了一个类,但是我没有包含这个代码,因为它与这个位无关。你知道吗

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)

Tags: 文件代码ifaswithlinemicropythonopen
1条回答
网友
1楼 · 发布于 2024-09-29 21:26:48

看起来您需要缩进从第一个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

相关问题 更多 >

    热门问题