1 range() 方法的使用
1.1 range方法介紹
range方法會返回一個range類型的對象,該對象會根據range方法的參數產生一些列整型數據app
技巧01:range方法有三個參數,第一個參數是開始值,第二個參數是結束值,第三個參數是補償值ide
坑01:range方法默認開始值爲0,步長值爲1oop
range(stop) -> range object
只提供一個結束值時,range方法會默認從0開始,並且步長爲1;產生的數據不會包含結束值字體
range(start, stop[, step]) -> range object
提供初始值和結束值時,range方法會從初始值開始,步長任然爲1;產生的數據不會包含結束值spa
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 源碼
import turtle t = turtle.Pen() t.pensize(4) for i in range(4): t.circle(100) t.left(90) turtle.mainloop()
1.3.3 如何更改每一個圓圈的顏色
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
# 利用循環畫圓 import turtle 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()
1.4 利用range生成列表
1.4.1 傳統方式
坑01:range方法產生的數據類型是range類型的,若是要將range產生的數據賦值給一個列表對象,就必須進行類型轉換3d
提升:將range生成的數據通過加工事後再賦值給列表對象code
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
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))
1.4.2 列表解析方式
2 turtle.textinput()方法和write()方法
2.1 textinput 簡單介紹
textinput 方法主要爲用戶提供一個輸入窗口,下面一行代碼的展示效果就如圖所示orm
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 源碼
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
import turtle 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()
3 turtle.numinput 方法
3.1 簡單介紹
numinput是turtle提供的供用戶輸入浮點型數字的地方blog
坑01:經過numinput錄入的數據是浮點型數據
3.2 numinput使用
3.2.1 需求
3.2.2 源代碼
# 循環次數由用戶控制 import turtle t = turtle.Pen() t.pencolor("red") number = int(turtle.numinput("循環次數", "請輸入循環次數", 10)) for i in range(number): t.circle(30) t.left(360/number) turtle.mainloop()
3.3 拓展
3.3.1 需求
3.3.2 源代碼
import turtle 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();