溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用turtle繪制五角星、分形樹

發(fā)布時(shí)間:2021-05-19 11:09:08 來源:億速云 閱讀:235 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)如何使用turtle繪制五角星、分形樹,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

具體內(nèi)容如下

turtle 庫

與之前程序的區(qū)別:

  • 沒有顯示的input()與output()

  • 沒有賦值語句

  • 大部分語句為<a>.<b>()的形式

表示使用<a>中的方法<b>()
調(diào)用函數(shù)庫<a>中的函數(shù)<b>()

形狀繪制函數(shù):

turtle.forward(distance)
畫筆向前移動distance距離

turtle.backward(distance)
畫筆向后移動distance距離

turtle.right(dgree)
繪制方向向右旋轉(zhuǎn)dgree度

turtle.exitonclick()
點(diǎn)擊關(guān)閉圖形窗口

如何使用turtle繪制五角星、分形樹

畫筆控制函數(shù):

turtle.penup()抬起畫筆,之后移動畫筆不繪制

turtle.pendown()落下畫筆,之后移動畫筆繪制形狀

turtle.pensize()設(shè)置畫筆寬度

turtle.pencolor()設(shè)置畫筆顏色,常用的顏色:
white,black,grey,darkgreen,vilot,purple

詳細(xì)API請參考

功能一:

五角星的繪制

"""
 作者:陳潔
 功能:五角星的繪制
 版本:1.0
 日期:04/10/2019
"""
import turtle

def main():
 """
 主函數(shù)
 """
 #計(jì)數(shù)器
 count = 1
 while count<=5:
 turtle.forward(100)
 turtle.right(144)
 count += 1
 turtle.exitonclick()

if __name__ == '__main__':
 main()

遇到困難:

混淆if條件函數(shù)與while循環(huán)函數(shù)

功能二:

加入循環(huán)操作繪制重復(fù)不同大小的五角星

"""
 作者:陳潔
 功能:五角星的繪制
 版本:2.0
 日期:04/10/2019
 新增功能:加入循環(huán)操作繪制重復(fù)不同大小的五角星
"""
import turtle


def draw_pentagram(size):
 """
 繪制五角星
 """
 # 計(jì)數(shù)器
 count = 1
 # 繪制五角星
 while count <= 5:
 turtle.forward(size)
 turtle.right(144)
 count += 1

def main():
 """
 主函數(shù)
 """

 turtle.penup()
 turtle.backward(200)
 turtle.pendown()
 turtle.pensize(2)
 turtle.pencolor('red')

 size = 50

 while size<=100:
 #調(diào)用函數(shù)
 draw_pentagram(size)
 size += 10

 turtle.exitonclick()


if __name__ == '__main__':
 main()

功能三:

使用迭代函數(shù)繪制重復(fù)不同大小的五角星

注意:設(shè)置條件語句if size <= 100: draw_recursive_pentagram(size)

"""
 作者:陳潔
 功能:五角星的繪制
 版本:3.0
 日期:04/10/2019
 新增功能:使用迭代函數(shù)繪制重復(fù)不同大小的五角星
"""
import turtle
def draw_pentagram(size):
 """
 繪制五角星
 """
def draw_recursive_pentagram(size):
 """
 迭代繪制五角星
 """
 # 計(jì)數(shù)器
 count = 1
 # 繪制五角星
 while count <= 5:
 turtle.forward(size)
 turtle.right(144)
 count += 1
 #五角星繪制完成,更新參數(shù)
 size += 10
 if size <= 100:
 draw_recursive_pentagram(size)
def main():
 """
 主函數(shù)
 """
 turtle.penup()
 turtle.backward(200)
 turtle.pendown()
 turtle.pensize(2)
 turtle.pencolor('red')
 size = 50
 draw_recursive_pentagram(size)
if __name__ == '__main__':
 main()

功能四:用迭代函數(shù)繪制分形樹

"""
 作者:陳潔
 功能:分形樹
 版本:1.0
 日期:04/10/2019
 新增功能:使用迭代函數(shù)繪制分形樹
"""
import turtle
def draw_branch (branch_length):
 """
 繪制分形樹
 """
 if branch_length >5:
 #繪制右側(cè)樹枝
 turtle.forward(branch_length)
 print('向前繪制',branch_length)
 turtle.right(20)
 print('右轉(zhuǎn)',20)
 draw_branch(branch_length - 15)

 #繪制左側(cè)樹枝
 turtle.left(40)
 print('左轉(zhuǎn)',40)
 draw_branch(branch_length - 15)

 #返回之前的樹枝
 turtle.right(20)
 print('右轉(zhuǎn)',20)
 turtle.backward(branch_length)
def main():
 """
 主函數(shù)
 """
 turtle.left(90)
 turtle.penup()
 turtle.backward(150)
 turtle.pendown()
 draw_branch(100)
 turtle.exitonclick()
if __name__ == '__main__':
 main()

關(guān)于“如何使用turtle繪制五角星、分形樹”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI