1 range() 方法的使用
1.1 range方法介绍
range方法会返回一个range类型的对象,该对象会根据range方法的参数产生一些列整型数据
技巧01:range方法有三个参数,第一个参数是开始值,第二个参数是结束值,第三个参数是补偿值
坑01:range方法默认开始值为0,步长值为1
range(stop) -> range object
只提供一个结束值时,range方法会默认从0开始,而且步长为1;产生的数据不会包含结束值
range(start, stop[, step]) -> range object
提供初始值和结束值时,range方法会从初始值开始,步长任然为1;产生的数据不会包含结束值
1.2 示例代码
lis01 = list(range(4))print(lis01)print(type(range(4)))print("分割线".center(30, "="))
lis02= list(range(4, 7))print(lis02)print("分割线".center(30, "="))
lis03= list(range(8, 20, 2))print(lis03)
1.3 利用range和循环画圆
1.3.1 需求
1.3.2 源码
importturtle
t=turtle.Pen()
t.pensize(4)for i in range(4):
t.circle(100)
t.left(90)
turtle.mainloop()
1.3.3 如何更改每个圆圈的颜色
#利用循环画圆
importturtle
t=turtle.Pen()
t.pensize(4)
colorList= ["blue", "red", "green", "yellow"];for i in range(4):
t.pencolor(colorList[(i)%4])
t.circle(50)
t.left(90)
turtle.mainloop()
View Code
1.4 利用range生成列表
1.4.1 传统方式
坑01:range方法产生的数据类型是range类型的,如果要将range产生的数据赋值给一个列表对象,就必须进行类型转换
提高:将range生成的数据经过加工过后再赋值给列表对象
lis = list(range(1, 11))
lis02=list()print(lis)print(id(lis02))for i in range(lis.__len__()):
lis02.append(lis[i]**2)print(lis02)print(id(lis02))print(min(lis02))print(max(lis02))print(sum(lis02))
View Code
1.4.2 列表解析方式
2 turtle.textinput()方法和write()方法
2.1 textinput 简单介绍
textinput 方法主要为用户提供一个输入窗口,下面一行代码的展现效果就如图所示
your_name = turtle.textinput("Input your name", "What is your name?")
2.2 write简单介绍
write 方法是 turtle.Pen 对象的方法
def write(self, arg, move=False, align="left", font=("Arial", 8, "normal")
arg -> 需要打印的参数
move -> 打印下一个时是否需要移动,默认是不移动的
align -> 打印文本的排版效果,默认是左对齐
font -> 打印文本的字体,第一个代表字体类型,第二个代表字体大小,第三个表示字体修饰(正常、加粗、倾斜等)
2.3 textinput 和 write 综合应用
2.3.1 效果展示
2.3.2 源码
importturtle
t=turtle.Pen()
turtle.bgcolor("black")
colorList= ['red', 'blue', 'green', 'yellow']
your_name= turtle.textinput("Input your name", "What is your name?")for x in range(100):
t.pencolor(colorList[x% 4])
t.penup()
t.forward(x* 4)
t.pendown()
t.write(your_name, font= ("Arial", int((x + 4) / 4), "bold"))
t.left(90)
turtle.mainloop()
View Code
3 turtle.numinput 方法
3.1 简单介绍
numinput是turtle提供的供用户输入浮点型数字的地方
坑01:通过numinput录入的数据是浮点型数据
3.2 numinput使用
3.2.1 需求
3.2.2 源代码
#循环次数由用户控制
importturtle
t=turtle.Pen()
t.pencolor("red")
number= int(turtle.numinput("循环次数", "请输入循环次数", 10))for i inrange(number):
t.circle(30)
t.left(360/number)
turtle.mainloop()
3.3 拓展
3.3.1 需求
3.3.2 源代码
importturtle
t=turtle.Pen()
color_list01= ["blue", "green"]
color_list02= ["red", "skyblue"]for i in range(10):
t.pencolor(color_list01[i% 2])
t.circle(10)
t.left(360/10)for i in range(20):
t.pencolor(color_list02[i% 2])
t.circle(20)
t.left(360/20)
turtle.mainloop();