蓝桥杯Python初级组测试题之Turtle画图
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯Python初级组测试题之Turtle画图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
藍橋杯Python初級測試題之Turtle畫圖
寫這個主要是為了輔助和講解過藍橋杯的初級測試,難度并不高,重點在于解析過程。
思路:
第1步: 設置整體參數,如循環畫菱形的次數為n=12,每次旋轉的角度angle
第2步: 設置畫筆顏色為紅,畫半徑120圓
第3步: 回到圓心,按照n做循環,
第4步: 設置畫筆為綠色,填充為黃色,拆分畫菱形的步驟進行循環
第4步菱形步驟拆解,這個很重要,因為是12個循環步驟,主要每次出發相對的方向是一致的,那么操作就只用寫好0°的就可以了。
動作分解: 每次分叉都是原來的一支分為兩支,看上去是一個遞歸動作,角度看差不多,先按60°作為初始,題目也不明確要求角度
思路:1.設計一個遞歸的分叉函數,起始點都在中心往平分方向,往左走到分叉點記錄坐標和朝向x,y,heading為一個數組pos1,增加到坐標點數組中;再回到起始點往右走到分差點記錄坐標和朝向x,y,heading為一個數組pos2,每一層都從哪輸入的數組參數中提取坐標和朝向作為新的起始點完成一次畫二叉樹的操作。邏輯比較清晰,但是寫起來比較麻煩。
用到的三個取分叉點位置和方向的關鍵函數:
turtle.xcor() 返回海龜的 x 坐標
turtle.ycor() 返回海龜的 y 坐標
turtle.heading() 返回海龜的朝向
用到的三個設置分叉點位置和方向的關鍵函數:
turtle.setx(x) 參數x – 一個數值 (整型或浮點型) 設置海龜的橫坐標為 x,縱坐標保持不變。
turtle.sety(y) 參數y – 一個數值 (整型或浮點型) 設置海龜的縱坐標為 y,橫坐標保持不變。
turtle.seth(to_angle)參數to_angle – 一個數值 (整型或浮點型) 設置海龜的朝向為 to_angle
畫出的效果如下,與題目要求類似:
總結
以上是生活随笔為你收集整理的蓝桥杯Python初级组测试题之Turtle画图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugReport 概述
- 下一篇: Android 与其他基于 Linux