为什么从10开始,turtle就开始乱飞了,请问我该怎么纠正?

import turtle,time
def drawline(draw):
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
def sevenline(num):
drawline(True) if num in [2,3,4,5,6,8,9] else drawline(False)
drawline(True) if num in [0,1,3,4,5,6,7,8,9] else drawline(False)
drawline(True) if num in [0,2,3,5,6,8,9] else drawline(False)
drawline(True) if num in [0,2,6,8] else drawline(False)
turtle.left(90)
drawline(True) if num in [0,4,5,6,8,9] else drawline(False)
drawline(True) if num in [0,2,3,5,6,7,8,9] else drawline(False)
drawline(True) if num in [0,1,2,3,4,7,8,9] else drawline(False)
turtle.right(180)
turtle.penup()
turtle.fd(20)
def drawnum(nums):
turtle.pensize(5)
turtle.speed(10)
for i in range(nums):
if i>=10:#大于十时遍历所有元素
F=",".join(str(i))#转化字符串后用逗号分隔
S=F.split(",")#分隔后返还成列表
for j in S:#遍历列表
sevenline(j)
else:
sevenline(i)
turtle.clear()
turtle.goto(0,0)
drawnum(20)

眼眸繁星
浏览 143回答 2
2回答

白衣非少年

S=F.split(",")这一步错了,这个得到的是一个字符串的数组,而不是数字的数组,应该改为S=list(map(int,F.split(",")))就可以了

慕少森

done()可以使窗口保持12345678910from turtle import *color('red', 'yellow')begin_fill()while True: forward(200) left(170) if abs(pos()) < 1: breakend_fill()done()
打开App,查看更多内容
随时随地看视频慕课网APP