利用Python如何画一颗心、小人发射爱心

(编辑:jimmy 日期: 2024/12/26 浏览:2)

源码:

#!/usr/bin/env python

# -*- coding:utf-8 -*- 

import turtle
import time

# 画心形圆弧

def hart_arc():

 for i in range(200):

  turtle.right(1)

  turtle.forward(2)

 
def move_pen_position(x, y):

 turtle.hideturtle()  # 隐藏画笔(先)

 turtle.up()  # 提笔

 turtle.goto(x, y) # 移动画笔到指定起始坐标(窗口中心为0,0)

 turtle.down() # 下笔

 turtle.showturtle()  # 显示画笔
 

# 初始化

turtle.setup(width=800, height=500)  # 窗口(画布)大小

turtle.color('red', 'pink')  # 画笔颜色

turtle.pensize(3)  # 画笔粗细

turtle.speed(1)  # 描绘速度

# 初始化画笔起始坐标

move_pen_position(x=0,y=-180) # 移动画笔位置

turtle.left(140) # 向左旋转140度
 
turtle.begin_fill()  # 标记背景填充位置
 
# 画心形直线( 左下方 )
turtle.forward(224) # 向前移动画笔,长度为224

# 画爱心圆弧

hart_arc()  # 左侧圆弧
turtle.left(120) # 调整画笔角度
hart_arc()  # 右侧圆弧

# 画心形直线( 右下方 )

turtle.forward(224)

turtle.end_fill()  # 标记背景填充结束位置

# 点击窗口关闭程序

window = turtle.Screen()

window.exitonclick()

效果图:

利用Python如何画一颗心、小人发射爱心

源码:

import turtle as t
from time import sleep
def go_to(x, y):
 t.up()
 t.goto(x, y)
 t.down()
def head(x, y, r):
 go_to(x, y)
 t.speed(20)
 t.circle(r)
 leg(x, y)
def leg(x, y):
 t.right(90)
 t.forward(180)
 t.right(30)
 t.forward(100)
 t.left(120)
 go_to(x, y - 180)
 t.forward(100)
 t.right(120)
 t.forward(100)
 t.left(120)
 hand(x, y)
def hand(x, y):
 go_to(x, y - 60)
 t.forward(100)
 t.left(60)
 t.forward(100)
 go_to(x, y - 90)
 t.right(60)
 t.forward(100)
 t.right(60)
 t.forward(100)
 t.left(60)
 eye(x, y)
def eye(x, y):
 go_to(x - 50, y + 130)
 t.right(90)
 t.forward(50)
 go_to(x + 40, y + 130)
 t.forward(50)
 t.left(90)
def big_Circle(size):
 t.speed(20)
 for i in range(150):
  t.forward(size)
  t.right(0.3)
def line(size):
 t.speed(20)
 t.forward(51 * size)
def small_Circle(size):
 t.speed(20)
 for i in range(210):
  t.forward(size)
  t.right(0.786)
def heart(x, y, size):
 go_to(x, y)
 t.left(150)
 t.begin_fill()
 line(size)
 big_Circle(size)
 small_Circle(size)
 t.left(120)
 small_Circle(size)
 big_Circle(size)
 line(size)
 t.end_fill()
def main():
 t.pensize(2)
 t.color('red', 'pink')
 head(-120, 100, 100)
 heart(250, -80, 1)
 go_to(100, -300)
 t.write("To: 智慧与美貌并存的", move=True, align="left", font=("楷体", 20, "normal"))
 t.done()
main()


效果图:

利用Python如何画一颗心、小人发射爱心

总结

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。