1. 程式人生 > >【Python基礎】1.4.7 Turtle例項——用Python作畫之彩虹

【Python基礎】1.4.7 Turtle例項——用Python作畫之彩虹

語言:Python
IDE:Python.IDE

  1. 需求
    做出彩虹效果

  2. 顏色空間
    RGB模型:光的三原色,共同決定色相
    HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相
    需要將HSB模型轉換為RGB模型

  3. 程式碼段

from turtle import *

def HSB2RGB(hues):
    hues = hues * 3.59 #100轉成359範圍
    rgb=[0.0,0.0,0.0]
    i = int(hues/60)%6
    f = hues/60 -i
    if i == 0:
        rgb[0] = 1; rgb[1] = f; rgb[2] = 0
elif i == 1: rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0 elif i == 2: rgb[0] = 0; rgb[1] = 1; rgb[2] = f elif i == 3: rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1 elif i == 4: rgb[0] = f; rgb[1] = 0; rgb[2] = 1 elif i == 5: rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f return
rgb def rainbow(): hues = 0.0 color(1,0,0) #繪製彩虹 hideturtle() speed(100) pensize(3) penup() goto(-400,-300) pendown() right(110) for i in range (100): circle(1000) right(0.13) hues = hues + 1 rgb = HSB2RGB(hues) color(rgb[0],rgb[1],rgb[2
]) penup() def main(): setup(800, 600, 0, 0) bgcolor((0.8, 0.8, 1.0)) tracer(False) rainbow() #輸出文字 tracer(False) goto(100,-100) pendown() color("red") write("Rainbow",align="center", font=("Script MT Bold", 80, "bold")) tracer(True) mainloop() if __name__ == "__main__": main()
  1. 預覽輸出結果
    這裡寫圖片描述

相關推薦

Python基礎1.4.7 Turtle例項——Python作畫彩虹

語言:Python IDE:Python.IDE 需求 做出彩虹效果 顏色空間 RGB模型:光的三原色,共同決定色相 HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相 需要將HS

Python基礎1.4.5 Turtle例項——Python實現時鐘顯示

語言:Python IDE:Python.IDE 編寫時鐘程式,要求根據時間動態更新 程式碼思路 需求:5個Turtle物件, 1個繪製外表盤+3個模擬表上針+1個輸出文字 Step1:建立Turtle物件並初始化 Step2:靜態錶盤繪製

重溫基礎1.語法和資料型別

最近開始把精力放在重新複習JavaScript的基礎知識上面,不再太追求各種花枝招展的前端框架,框架再多,適合實際專案才是最重要。 上星期在掘金髮布了幾篇文章,其中最大塊算是 【複習資料】ES6/ES7/ES8/ES9資料整理(個人整理),也是讓我好好把這些規範複習了一遍,雖然不是完全的原創,而是自己的一些複

Swift基礎Swift 4.0學習筆記

The Swift Programming Language 4.0 中文版學習筆記 1 1. 基礎部分 註釋 巢狀註釋: /* A /* B */ / 常量和變數 常量和變數名可以使用Unicode字元來命名,但不能包含數學符號,箭

AI基礎python:openCV——處理鼠標事件(1

python:opencv 處理鼠標 一、用戶通過鼠標對圖像視窗最常見的操作有: 左鍵單擊按下 左鍵單擊擡起 左鍵按下拖動 鼠標指針位置移動 二、單次單擊操作響應事件及順序 Opencv中setMouseCallback()創建了一個鼠標回調函數,每次在圖像上單擊鼠標左鍵再擡起的過程,

AI基礎python:openCV——圖像處理(1

python python:openCV OpenCV圖像的基本操作 :使用包cv2,numpy import cv2 import numpy as np img = cv2.imread(‘1.jpg‘) cv2.imshow(‘image‘,img) k = cv2.waitKey(0) "

AI基礎python:openCV——圖像算術運算(1

圖像算術運算圖像算術運算 1.圖像加法使用cv2.add()將兩幅圖像進行加法運算,也可以直接使用numpy,res=img1+img2.兩幅圖像的大小,類型必須一致,或者第二個圖像可以是一個簡單的標量值。openCV的加法是一種飽和操作,而numpy的加法是一種模操作。OpenCV的結果會更好 import

MySQL基礎CentOS 7.4 RPM方式安裝MySQL 5.7.19

bae tar -xvf rpm -e create 3.3 general upd tst 版本 1、基本環境準備 操作系統:CentOS 7.4 內核版本3.10..0-693,可使用uname -a命令查看Oracle JDK 1.8_171(建議使用Oracle J

日常學習筆記2019/1/(4,7)(SSM再熟悉與網頁傳值)

學生管理系統(SSM簡易版)總結 可以用來再次熟悉SSM https://www.jianshu.com/p/6a594fbea51d 頁面傳值 示例:點選a頁面的p標籤,將p標籤內的學號傳遞到b頁面,之後b頁面根據得到的值,再進行ajax資料請求,顯示此學號的詳情。 a

python基礎python基礎3+4(列表,元組字串,字典)

一.python基礎3 【列表】 1.1布林值和控制 布林值分為True和False 空值是None,不可以當成0 1.2列表 '''列表''' list=[] #列表組合 list1=[1,2,3] list2=[4,5,6] list3=list1+lis

HTML基礎語法1

ack close 兩個 log 默認 scroll blank 回到頂部 天都 從今天開始學習一些前端的知識,從HTML開始,爭取每天都積累一點。 什麽是HTML? HTML(HyperText Markup Language,超文本標記語言),所謂超文本就是指

AI基礎python:openCV——圖像處理(2)

getTrackbarPos圖像處理練習 制作一個滑動條調色板,使用函數cv2.getTrackbarPos();cv2.creatTrackbar() import cv2 import numpy as np def nothing(x): pass img = np.zeros((300,5

AI基礎python:openCV——圖像算術運算(2):按位運算

按位運算 openCV 按位運算 按位操作有:AND,OR,NOT,XOR 等。當我們提取圖像的 一部分,選擇非矩形 ROI 時這些操作會很有用,常用於Logo 投射。 本節操作思路:通過 threshold 函數將圖片 固定閾值二值化,定義:圖像的二值化,就是將圖像上的像素點的灰度值設置為0或25

python基礎--列表相關基礎知識

PE 刪除 結果 使用 查找 方法 從大到小 類型 pen 1.定義列表 a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘]索引(下標)都是從0開始

Python基礎流程控制-break及continue使用及while..else的使用

break continue while..else ‘‘‘ break 用於結束一個完整的循環,跳出循環體執行循環後面的語句 continue 用於跳出本次循環,但繼續下一個循環 ‘‘‘ ‘‘‘ continue的用法 打印1-10的數字,3除外 ‘‘‘ # count

Python基礎流程控制-while循環

while#while循環 ‘‘‘ while 條件判斷: 滿足條件執行的代碼 ... 條件判斷的根本是True和False的判斷 True才會執行 False不會執行 通過一下方法來打印條件是True或者False a = 10 b = 20 pr

Python基礎格式化打印

格式化打印‘‘‘ 1、能夠很規範的打印出想要的內容 2、雙引號內沒有辦法放變量 ‘‘‘ ## 格式化輸入 # %s 輸入任意扥內容都不會報錯因為全部當做str來處理 # %d 只能輸入數字 #案例一 name = input("Name: ") age = input("Age: ") hos

Python基礎流程控制-if..else

if..else‘‘‘ 基本的使用 if 條件: 滿足條件執行的代碼 else: 不滿足條件執行的代碼 ‘‘‘ # age = input("Please input Age: ") # age = int(age) # ‘‘‘ # 從input得出的結果默認是str,str格式不能被<

Python基礎字符編碼ASCII-GBK-Unicode-UTF-8之間的關系

精準 應該 寫入 歷程 UC tran 執行 文件 總結 字符編碼 由於計算機只識別0和1,為了使計算機能夠支持文字和字母等符號,方便實用操作計算機 於是字符編碼應運而生,旨在解決符號和人類語言與計算機0和1建立起一種對應關系 據說不理解字符編碼可能是程序員一輩子的遺憾,拿

python基礎集合類型

linux code 課程 xxd hone 插入元素 close 1.3 格式 集合類型:   作用:  --> 關系運算(交集,並集,差集)        --> 去重(有局限性) 定義方法:set() linuxers = {1,1.1,‘a‘,(1,2