2023年7月10日 星期一

Python迴圈的美(ChatGPT協助說明程式)

延續文章:Python迴圈的美

本篇延續學習Python迴圈的概念,並以ChatGPT來協助說明程式,範例五到七為ChatGPT所產生。

範例一:畫圓
程式:
import turtle
c = turtle.Turtle()
c.circle(100)

執行結果:



程式說明:
這段程式碼使用了Python中的turtle模組來畫圖。turtle模組提供了一個簡單的圖形介面,可以使用簡單的指令來控制一個海龜(turtle)圖形,進而畫出各種圖形。程式的第一行 import turtle 是將turtle模組匯入到你的程式中,以便使用其中的功能。第二行 c = turtle.Turtle() 創建了一個Turtle物件,並將其指派給變數c。這個物件代表了一隻海龜,你可以使用它來控制圖形的畫筆。第三行 c.circle(100) 是使用海龜物件c的circle()方法來畫一個半徑為100的圓形。這個方法接受一個參數,表示圓的半徑。
總結起來,這段程式碼的作用是畫出一個半徑為100的圓形。你可以根據自己的需求修改程式碼,調整圓的半徑或者新增其他的圖形指令,來繪製更複雜的圖形。

範例二:畫出2個圓
import turtle
c = turtle.Turtle()
c.circle(100)
c.left(10)
c.circle(100)
c.left(10)


執行結果:

程式說明:
這段程式碼在上一個範例的基礎上新增了兩行指令,c.left(10)。這是使用海龜物件c的left()方法將畫筆向左轉10度,然後再次呼叫c.circle(100)方法來繪製半徑為100的圓形。這樣的程式碼片段將繪製兩個相鄰的圓形,並且每次繪製完一個圓形後將畫筆向左轉10度。這樣重複執行兩次,就會得到一個類似螺旋的圖形。你可以根據需要修改程式碼,調整轉彎角度或重複的次數,以繪製出不同的圖案。turtle模組提供了許多可以控制海龜圖形的方法,你可以參考官方文件或其他資源以了解更多詳細的使用方式和指令。

範例三:用迴圈改寫範例二
程式:
import turtle
c = turtle.Turtle()
i = 0
while i < 2:
    c.circle(100)
    c.left(10)
    i += 1


程式說明:
這段程式碼使用了while迴圈來實現重複繪製圓形的效果。
首先,我們創建了一個Turtle物件c,然後定義一個變數i並將其初始化為0。接下來,使用while迴圈來執行下列動作,只要i小於2:呼叫c.circle(100)方法繪製一個半徑為100的圓形。呼叫c.left(10)方法將畫筆向左轉10度。將i的值加1,以便迭代下一次迴圈。當i的值增加到2或以上時,迴圈結束。
這樣的程式碼片段將繪製兩個相鄰的圓形,並且每次繪製完一個圓形後將畫筆向左轉10度。重複執行兩次,得到一個類似螺旋的圖形。你可以根據需要修改迴圈的條件和迭代的次數,以繪製出不同的圖案。

因為圓有360度,每次都向左10度,只要連續轉36次,就會變得很好看

範例四:畫出36個圓
import turtle
c = turtle.Turtle()
i = 0
while i < 36:
   c.circle(100)
   c.left(10)
   i += 1



執行結果:



這段程式碼使用了while迴圈來繪製一個由36個圓形組成的圖案。這樣的程式碼片段將繪製36個相鄰的圓形,每次繪製完一個圓形後將畫筆向左轉10度,重複執行36次,得到一個類似花瓣的圖案。

範例五:繪製彩色螺旋圖案
程式碼:
import turtle

colors = ["red", "orange", "yellow", "green", "blue", "purple"]
c = turtle.Turtle()

for i in range(200):
    c.pencolor(colors[i % 6])
    c.width(i / 100 + 1)
    c.forward(i)
    c.left(59)

執行結果:



程式解說:
這段程式碼使用for迴圈來繪製一個彩色的螺旋圖案。迴圈遍歷200次,每次改變畫筆顏色、畫筆寬度、向前移動的距離和左轉的角度,從而創造出一個螺旋圖案。

範例六:繪製五角星
程式碼:
import turtle c = turtle.Turtle() for _ in range(5): c.forward(100) c.right(144)

執行結果:

程式解說:
這段程式碼使用for迴圈來繪製一個五角星。迴圈遍歷5次,每次向前移動100單位,然後右轉144度,這樣就完成了一個五角星的繪製。

範例七:繪製螺旋正方形
程式碼:
import turtle

c = turtle.Turtle()

for i in range(100):
    c.forward(i)
    c.right(90)


執行結果:




程式解說:
這段程式碼使用for迴圈來繪製一個螺旋正方形。迴圈遍歷100次,每次向前移動的距離增加,同時每次右轉90度,從而創造出一個螺旋狀的正方形。

範例八:設置畫筆顏色
程式碼:
import turtle

c = turtle.Turtle()

c.pencolor("red")  # 設置畫筆顏色為紅色
c.fillcolor("blue")  # 設置填充顏色為藍色

c.begin_fill()  # 開始填充
c.circle(100)  # 繪製圓形
c.end_fill()  # 結束填充

執行結果:
執行中:
執行完畢:
程式解說:
這段程式碼使用pencolor()方法設置畫筆顏色為紅色,並使用fillcolor()方法設置填充顏色為藍色。接著使用begin_fill()開始填充,繪製一個半徑為100的圓形,最後使用end_fill()結束填充,形成一個填充藍色的圓形。

範例九:控制畫筆速度
程式碼:
import turtle

c = turtle.Turtle()

c.speed(1)  # 設置畫筆速度為最慢

for _ in range(4):
    c.forward(100)
    c.right(90)

執行結果:




程式解說:

這段程式碼使用speed()方法設置畫筆速度為最慢。然後使用for迴圈繪製一個正方形,每次向前移動100單位,然後右轉90度。

範例十:隱藏或顯示畫筆
程式碼:
import turtle

c = turtle.Turtle()

c.hideturtle()  # 隱藏畫筆

for _ in range(3):
    c.forward(100)
    c.left(120)

c.showturtle()  # 顯示畫筆

執行結果:
畫筆消失:

畫筆出現:
程式解說:


這段程式碼使用hideturtle()方法隱藏畫筆。然後使用for迴圈繪製一個三角形,每次向前移動100單位,然後左轉120度。最後使用showturtle()方法顯示畫筆。

這些範例程式碼展示了如何在使用Turtle模組時設置畫筆顏色、填充形狀、控制畫筆速度以及隱藏或顯示畫筆。你可以根據需要自由修改這些程式碼,以達到你想要的視覺效果。



沒有留言:

張貼留言