網站首頁 編程語言 正文
彩色圓環更漂亮
A.課程內容
通過繪制彩色的圓環來學習列表的使用方法、顏色的使用技巧等,通過學習掌握python程序繪制彩色的圖形的方法。
B.知識點
(1)繪制圓形
(2)設置畫筆顏色
(3)變換畫筆顏色的技巧
(4)列表使用技巧
C.用到的基本指令
(1)import
(2)turtle.Pen()
(3)circle()
(4)right()
(5)for循環
(6)range()
D.繪制漂亮的圓圖形
前面我們已經學習通過t.forward(x)語句來讓海龜畫筆來畫直線段的方法,那能不能讓海龜畫圓形呢?當然可以,可以通過t.circle(x)語句來畫出一個半徑為x的圓。其實,只要將之前編寫的程序中的t.forward(x)語句修改為t.circle(x)語句,即可讓海龜繪制一個復雜的圖形,如圖所示:
t.circle(x)語句可以繪制一個半徑為x的圓,每循環一次,x的值就增加1,所畫圓的半徑就增加1。畫完一個圓后,畫筆就旋轉90°。
提示:
circle()命令中如果只有一個參數,則表示半徑:
如果有兩個參數,如circle(10,180),則第一個參數10為半徑,第二個參數180為度數。加上第二個參數可以繪制圓弧和圓。circle(10,180)繪制出來的圖形為半圓。
E.給圖形添加顏色
之前我們繪制的都是黑色的圖形,接下來我們讓海龜畫筆畫出彩色的圖形。要繪制彩色的圖形,只要將海龜畫筆的顏色變成其他顏色即可。通過t.pencolor(‘red’)語句來設置畫筆顏色。
常用的顏色包括bule(藍色)、green(綠色)、yellow(黃色)、white(白色)、black(黑色)、purple(紫色)、brown(棕色)、gray(灰色)等。
上面講解了將畫筆設置為一種顏色的方法,可不可以讓每個方向的圓環使用一種顏色呢》這樣會更漂亮。如下圖所示:
上面的程序是如何執行的呢?
(1)首先導入海龜繪圖模塊,并將變量t設置為海龜的畫筆;然后創建列表colors,并加入red、yellow、blue、green四個元素。
(2)接著range(100)會生成從0到99的連續的數;t.circle(x)語句讓海龜畫筆畫出一個以x為半徑的圓;t.right(90)語句讓海龜畫筆向右轉動90°。
(3)首次執行循環時,for循環先訪問range列表中的第一個元素0,并將0存儲在變量x中,變量x的值變為了0,0除以4得到余數0.然后執行colors[0],從列表colors中取第一個元素“red”作為畫筆顏色的參數。接著將畫筆顏色設置為紅色(red),并畫一個半徑為0的圓,然后畫筆向右轉動90°
(4)執行第二次循環,for循環訪問range列表中的第二個元素1,并將1存儲在變量x中,變量x的值變為了1。1除以4得到余數1,然后執行colors[1],從列表colors中取第二個元素“yellow”作為畫筆顏色的參數。接著將畫筆顏色設置為黃色,畫一個半徑為1的圓,然后畫筆向右轉動90°。
(5)這樣一次一次地繼續執行,當for循環遍歷range中最后一個元素99時,變量x的值變為99,99除以4得到余數3,然后執行colors[3],從列表colors中取第四個元素“green”作為畫筆顏色的參數。接著將畫筆顏色設置為綠色(green),畫一個半徑為99的圓,然后畫筆向右轉動90°。這樣就畫出一個四種顏色的圖形。
提示:A除以B,如果A比B小,則相除后的余數是它自己。比如1除以4,余數為1。
原文鏈接:https://www.jianshu.com/p/1d45191aff3b
相關推薦
- 2022-09-12 Sublime中View?in?Browser功能不生效問題及解決_相關技巧
- 2022-12-04 深入了解Rust的切片使用_Rust語言
- 2022-10-06 Redis中鍵和數據庫通用指令詳解_Redis
- 2024-02-28 CSS,文本溢出顯示省略號
- 2022-12-22 Flutter?Widget?之StatefulBuilder構建方法詳解_Android
- 2023-01-20 Go語言實現定時器的原理及使用詳解_Golang
- 2022-12-08 Python如何遍歷numpy數組_python
- 2022-06-20 React函數組件與類組件使用及優劣對比_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支