python畫心型圖案


import py2exe
import time

from distutils.core import setup
from turtle import *

# setup(
#     # console和windows分別代表控制台和圖形界面,按需求選擇
#     console = [{"script" : 'comtrade.py'}],
#     windows = [{"script":"comtrade.py", "icon_resources": [(1, "logo.ico")]} ],
#     name = 'comtrade', # 生成的exe文件名
#     version = '1.0',
#     options={}, # 括號內填入的為項目所需的依賴庫和會造成報錯的文件
#     data_files={})# 括號內輸入的為項目所需的依賴文件
# version ,description,name不是必須要寫的。

def setTurtle():
    # 窗口大小
    screensize(900, 700, 'pink')
    # 顏色
    color('red', 'pink')
    # 筆粗細
    pensize(3)
    # 速度
    speed(6)
    # 提筆
    penup()


def getStart(h):
    # 去到的坐標,窗口中心為0,0
    goto(0, -180)
    r = h / 5
    drawBigL(r, h)
    drawBigArc(r, 140)
    drawBigArc(r, 70)
    drawBigR(r, h)
    centerRange()
    drawHope()
    drawName()


def drawBigL(r, h):
    colors = ['red', 'orange', 'yellow', '#87CEEB', 'violet', 'red']
    for i in range(int(240 / h) + 1):
        seth(0)
        color(colors[i], colors[i + 1])
        drawHeart(r)
        seth(140)
        fd(h)


def drawBigArc(r, rad):
    colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']
    for i in range(50):
        if i % 10 == 0:
            color(colors[int(i / 10)], colors[int(i / 10) + 1])
            seth(0)
            drawHeart(r)
            seth(rad - (i + 1) * 4)
        rt(4)
        fd(10.5)


def drawBigR(r, h):
    colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']
    for i in range(int(240 / h) + 1):
        color(colors[i], colors[i + 1])
        seth(0)
        drawHeart(r)
        setheading(220)
        fd(h)


def drawHeart(r):
    down()
    begin_fill()
    factor = 180
    seth(45)
    circle(-r, factor)
    fd(2 * r)
    right(90)
    fd(2 * r)
    circle(-r, factor)
    end_fill()
    up()


# 在心中寫字
def centerRange():
    for i in range(6):
        drawCenter(i)
        time.sleep(1)


def drawCenter(i):
    goto(0, 0)
    colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']
    pencolor(colors[i])
    # 在心中寫字 font可以設置字體自己電腦有的都可以設 align開始寫字的位置
    # write('love ...', font=('gungsuh', 30,), align="center")
    up()


# 寫寄語
def drawHope():
    pencolor('black')
    goto(5, 100)
    showturtle()
    write('xxx跨年快樂!', font=('華文行楷', 25,), align="center", move=True)
    goto(0, 50)
    write('余生有你一切都好', font=('華文行楷', 25,), align="center", move=True)


# 寫署名
def drawName():
    pencolor('black')
    goto(0, 0)
    showturtle()
    write('相信下一年可以會更好', font=('華文行楷', 25,), align="center", move=True)
    goto(0, -50)
    write('來自xx的祝賀', font=('華文行楷', 25,), align="center", move=True)


setTurtle()
getStart(80)

# 點擊窗口關閉
window = Screen()
window.exitonclick()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM