首页 > 解决方案 > 我遵循此示例,但结果显示“进程以退出代码 0 完成”

问题描述

我遵循这些示例代码,但结果是“进程以退出代码 0 完成”我不知道出了什么问题。请问你们能告诉我我需要解决什么吗?

import turtle
import numpy as np
pixelSize=10
def putPixel(x,y,pSize,pCol):
    turtle.penup()
    turtle.goto(x*pSize,(-1)*y*pSize)
    turtle.pendown()
    turtle.begin_fill()
    turtle.fillcolor(pCol)
    turtle.setheading(45)
    turtle.circle(pSize/2,steps=4)
    turtle.end_fill()

    faceImg=np.array(
        [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0],
         [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0],
         [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
         [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
         [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
         [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
         [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
         [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
         [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
         [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
         [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0],
         [0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0],
         [0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]])
    smileImg=np.array(
        [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,2,2,0,0,2,2,0,0,0,0,0],
         [0,0,0,0,2,0,2,0,2,0,2,0,0,0,0,0],
         [0,0,0,0,2,2,2,0,2,2,2,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0],
         [0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0],
         [0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0],
         [0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]])
    for j in range(0,16):
        for i in range(0,16):
            if(faceImg[j][i]>0):
                putPixel(i,j,pixelSize,'orange')
            else:
                putPixel(i,j,pixelSize,'white')

    for j in range(0,16):
        for i in range(0,16):
            if(smileImg[j][i]>1):
                putPixel(i+20,j,pixelSize,'red')
            else:
                putPixel(i+20,j,pixelSize,'white')

我尝试按照教科书进行操作,并且 1 到 12 行与文本完全相同,在我按照另一个示例进行编码并获得结果之前。但现在我没有得到任何结果或任何弹出窗口只得到那个resule“进程以退出代码0完成”我不知道出了什么问题

标签: python-3.xpycharm

解决方案


你的制表有问题。我认为应该是这样的:

 import turtle
 import numpy as np
 pixelSize=10
 def putPixel(x,y,pSize,pCol):
     turtle.penup()
     turtle.goto(x*pSize,(-1)*y*pSize)
     turtle.pendown()
     turtle.begin_fill()
     turtle.fillcolor(pCol)
     turtle.setheading(45)
     turtle.circle(pSize/2,steps=4)
     turtle.end_fill()

然后你的主要代码没有表格:

faceImg=np.array(
    [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0],
     [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0],
     [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
     [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
     [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
     [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
     [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
     [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
     [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0],
     [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0],
     [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0],
     [0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0],
     [0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]])
smileImg=np.array(
    [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,2,2,0,0,2,2,0,0,0,0,0],
     [0,0,0,0,2,0,2,0,2,0,2,0,0,0,0,0],
     [0,0,0,0,2,2,2,0,2,2,2,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0],
     [0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0],
     [0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0],
     [0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],
     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]])
for j in range(0,16):
    for i in range(0,16):
        if(faceImg[j][i]>0):
            putPixel(i,j,pixelSize,'orange')
        else:
            putPixel(i,j,pixelSize,'white')

for j in range(0,16):
    for i in range(0,16):
        if(smileImg[j][i]>1):
            putPixel(i+20,j,pixelSize,'red')
        else:
            putPixel(i+20,j,pixelSize,'white')

这样,当您运行此脚本时,主代码将执行。或者你也可以创建一个 min() 函数:

 def main():
     faceImg=...

对于在第二种情况下运行 main() 函数,请在最后插入以下代码:

if __name__ == '__main__':
    main()

推荐阅读