Python04 range()方法的使用、turtle.textinput()方法和write()的使用、turtle.numinput()的使用


 

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 源碼

import turtle

t = turtle.Pen()
t.pensize(4)

for i in range(4):
    t.circle(100)
    t.left(90)

turtle.mainloop()

    1.3.3 如何更改每個圓圈的顏色

      

# 利用循環畫圓
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()
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 源碼

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()
View Code

 

3 turtle.numinput 方法

  3.1 簡單介紹

    numinput是turtle提供的供用戶輸入浮點型數字的地方

    坑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();

 

 

 

 

   

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM