1. 程式人生 > 實用技巧 >我的Python學習之路(2)

我的Python學習之路(2)

此文轉載自:https://blog.csdn.net/Mr_BigG/article/details/112394166

今日所學內容

1.學習了海龜(turtle)庫的一些函式,掌握基本的線條繪製方法
2.根據視訊所學內容,繪製一條蟒蛇,逐句理解程式碼並寫出詳細的註釋,效果圖如下:

程式碼如下:

#PythonDraw.py
import turtle as t #引入海龜turtle繪相簿
t.setup(650, 350, 200, 200) #前兩個引數設定視窗的寬高,後兩個引數設定視窗左上角的位置
t.penup() #畫筆控制函式,抬起海龜(畫筆),不會在螢幕上留下軌跡,一般和pendown成對使用。可簡寫為t.pu()
t.fd(-250) #t.fd()是海龜的前進函式,引數為前進的畫素距離,與t.forward()等價
t.pendown() #可簡寫為t.pd() t.pensize(25) #畫筆寬度,也就是海龜的腰圍,別名t.width() t.pencolor("purple") #畫筆顏色函式,引數為顏色的字串或者是R,G,B值(小數) t.seth(-40) #控制海龜的運動方向,與t.setheading()等價,引數為絕對角度。相對角度可以用t.left()或t.right(),引數為角度 for i in range(4): #range(N)產生0到N-1的整數序列,共N個。range(M, N)產生M到N-1的整數序列,共N-M個 t.circle(40, 80) #根據第一個引數為半徑繪製第二個引數角度的弧形,圓心在海歸左側半徑為第一個引數的位置
t.circle(-40, 80) t.circle(40, 80 / 2) t.fd(40) t.circle(16, 180) t.fd(40 * 2 / 3) t.done()

3.結合網上的相關例子,編寫一段送給女朋友的小程式(專屬程式設計師的浪漫,嘿嘿),效果圖如下:

程式碼如下:

#Love.py
#表白神器
import turtle as t
import time

#密碼部分
Str = t.textinput("給最愛的寶貝!", "小寶貝麼麼噠,這是豬豬給你的節日賀卡,需要輸入特定密碼才能開啟哦")
if (Str != '2020-07-27'):
    Str = t.textinput(
"抱歉", "密碼錯誤!溫馨提示:8位數字,再來一次吧!") if (Str == '20200727'): Str = t.textinput("233333", "寶貝最棒啦,數字對了哦,但是格式不正確,密碼格式為'XXXX-XX-XX'") while (Str != '2020-07-27'): Str = t.textinput("233333", "是我們在一起的日子呀,密碼格式為'XXXX-XX-XX'") elif (Str != '2020-07-27'): Str = t.textinput("抱歉", "是一個對我們很有意義的日子哦") if (Str == '20200727'): Str = t.textinput("233333", "寶貝最棒啦,數字對了哦,但是格式不正確,密碼格式為'XXXX-XX-XX'") while (Str != '2020-07-27'): Str = t.textinput("233333", "是我們在一起的日子呀,密碼格式為'XXXX-XX-XX'") elif (Str != '2020-07-27'): Str = t.textinput("抱歉", "最後一次提示哦,是我們的紀念日啊") if (Str == '20200727'): Str = t.textinput("233333", "寶貝最棒啦,數字對了哦,但是格式不正確,密碼格式為'XXXX-XX-XX'") while (Str != '2020-07-27'): Str = t.textinput("233333", "是我們在一起的日子呀,密碼格式為'XXXX-XX-XX'") else: while (Str != '2020-07-27'): Str = t.textinput("233333", "是我們在一起的日子呀,密碼格式為'XXXX-XX-XX'") #畫布的初始化 t.setup(800, 600) time.sleep(3) #上半部分的文字 t.hideturtle() t.color("red") t.penup() t.goto(-300, 220) loveWords1 = '當' loveWords2 = ['送', '給', '小', '寶', '貝'] loveWords3 = ['每', '天', '都', '快', '樂', '!'] for i in range(4): t.write(loveWords1, font = ("華文彩雲", 3 * i + 14, "bold")) t.fd(20 + 3 * i) time.sleep(1) t.fd(8) t.write("!", font = ("華文彩雲", 23, "bold")) t.fd(20) time.sleep(1) for word in loveWords2: t.write(word, font = ("華文彩雲", 26, "bold")) t.fd(35) time.sleep(1) t.write(":", font = ("華文彩雲", 23, "bold")) t.fd(35) #大白部分 #腦袋 t.goto(-100, 150) t.right(90) t.color("black") t.pensize(1) t.pendown() size = 0.6 a = 0.8 * size for i in range(120): if 0 <= i < 30 or 60 <= i < 90: a += 0.2 * size t.left(3) t.fd(a) else: a -= 0.2 * size t.left(3) t.fd(a) t.penup() #眼睛 time.sleep(1) t.goto(-70, 150) t.dot(14) time.sleep(1) t.goto(-24, 150) t.dot(14) time.sleep(1) t.right(60) t.pendown() t.speed(2) t.circle(-50, 50) #身體 t.penup() t.goto(-89.85, 131.47) t.left(65) t.pendown() t.circle(250, 60) t.penup() t.goto(-2.64, 133.09) t.left(30) t.pendown() t.circle(-250, 60) t.right(20) t.circle(-134,110) #腿 t.penup() t.left(135) t.goto(-120, -145) t.pendown() t.circle(120, 45) t.left(15) t.circle(42, 80) t.left(50) t.fd(70) t.penup() t.bk(70) t.pendown() t.right(130) t.circle(42, 80) t.left(15) t.circle(115, 48) t.penup() #胳膊 t.goto(-125, 89) t.pendown() t.left(112) t.circle(250, 50) t.circle(50, 45) t.circle(20, 80) t.circle(50, 45) t.circle(180, 16) t.penup() t.goto(31, 90) t.pendown() t.right(126) t.circle(-250, 50) t.circle(-50, 45) t.circle(-20, 80) t.circle(-50, 45) t.circle(-180, 14) #手 t.penup() t.goto(-208, -90) t.pendown() t.left(150) t.right(180) t.circle(-30, 20) t.penup() t.goto(-208, -90) t.right(160) t.pendown() t.circle(30, 40) t.circle(5, 120) t.circle(40, 40) #玫瑰 t.penup() t.goto(-270, 60) t.pendown() #玫瑰花的角度 t.right(60) #玫瑰花的尺寸 size = 0.35 #玫瑰花的花瓣 t.fillcolor("red") t.begin_fill() t.circle(10 * size, 180) t.circle(25 * size, 110) t.left(50) t.circle(60 * size, 45) t.circle(20 * size, 170) t.right(24) t.fd(30 * size) t.left(10) t.circle(30 * size, 110) t.fd(20 * size) t.left(40) t.circle(90 * size, 70) t.circle(30 * size, 150) t.right(30) t.fd(15 * size) t.circle(80 * size, 90) t.left(15) t.fd(45 * size) t.right(165) t.fd(20 * size) t.left(155) t.circle(150 * size, 80) t.left(50) t.circle(150 * size, 90) t.end_fill() # 花瓣1 t.left(150) t.circle(-90*size, 70) t.left(20) t.circle(75*size, 105) t.seth(80) t.circle(80*size, 98) t.circle(-90*size, 40) # 花瓣2 t.left(180) t.circle(90 * size, 40) t.circle(-80 * size, 98) t.seth(-63.5) # 葉子1 t.fd(30 * size) t.left(90) t.fd(25 * size) t.left(45) t.fillcolor("green") t.begin_fill() t.circle(-80 * size, 90) t.right(90) t.circle(-80 * size, 90) t.end_fill() t.right(135) t.fd(60 * size) t.left(180) t.penup() t.fd(85 * size) t.pendown() t.left(90) t.fd(80 * size) # 葉子2 t.right(90) t.right(45) t.fillcolor("green") t.begin_fill() t.circle(80 * size, 90) t.left(90) t.circle(80 * size, 90) t.end_fill() t.left(135) t.fd(60 * size) t.left(180) t.fd(60 * size) t.right(90) t.circle(-1000 * size, 8.6) t.penup() t.goto(-200, -110) t.pendown() t.circle(-1000 * size, 10) #文字 t.penup() t.color("red") t.goto(30, 220) t.seth(0) for word in loveWords3: t.write(word, font=("華文彩雲", 26, "bold")) t.fd(35) time.sleep(1) t.done()

注:本文是博主本人學習的日常記錄,不進行任何商用所以不支援轉載請理解!(大白的例子如有侵權請聯絡博主刪除)如果你也對Python有一定的興趣和理解,歡迎隨時找博主交流~