python-函数和代码复用—七段数码管绘制和爱心

Posted 西柠58

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-函数和代码复用—七段数码管绘制和爱心相关的知识,希望对你有一定的参考价值。

import turtle
def curvemove():
for i in range(200):
turtle.right(1)
turtle.forward(1)
def drawGap():
turtle.penup()
turtle.fd(5)
def drawLine(draw):
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(digit):
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
for i in date:
if i ==\'-\':
turtle.write(\'大\',font=("Arial",32,"normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i==\'=\':
turtle.write(\'帅\',font =("Arial",32,"normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i==\'+\':
turtle.write(\'比\',font=("Arial",32,"normal"))
else:
drawDigit(eval(i))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
turtle.fd(-200)
turtle.pendown()
turtle.color(\'red\',\'pink\')
turtle.pensize(2)
turtle.begin_fill()
turtle.left(140)
turtle.forward(111.65)
curvemove()
turtle.left(120)
curvemove()
turtle.forward(111.65)
turtle.end_fill()
turtle. penup()
turtle.goto(-250, 85)
turtle.pendown()
turtle.write("LOVE小香香", font=("Arial", 18, "normal"))
turtle.left(140)
turtle.fd(200)
turtle.pensize(5)
drawDate("520-=+")
turtle.hideturtle()
turtle.done()
main()

 

Turtle的运动方法:

  • turtle.forward(d): 命令箭头移动d像素
  • turtle.backward(d): 命令箭头向指向的反方向移动d像素,箭头的指向不变
  • turtle.goto(x, y): 将箭头移动到一个坐标
  • turtle.home(): 将箭头移动到起点(0,0)和向东
  • turtle.penup(): 抬起箭头
  • turtle.pendown(): 放下箭头
  • turtle.right(angle): 箭头顺时针旋转angle度,同理left逆时针旋转
  • turtle.setheading(angle): 将箭头方向设定为指定角度。0——东、90——北、180——西、270——南
  • turtle.speed(s): 设置箭头的速度为一个在1到10之间的整数,10最大

Turtle箭头的颜色、填充和绘制方法

  • turtle.color("red"): 设置箭头颜色为红色
  • turtle.fillcolor("red"): 设置箭头填充颜色为红色
  • turtle.pensize(): 设置画笔的宽度
  • turtle.begin_fill(): 在填充图形前访问这个方法
  • turtle.end_fill(): 在最后调用begin_fill之前填充绘制图形
  • turtle.filling(): 返回填充状态,Ture代表填充,False代表没有填充
  • turtle.clear(): 清除窗口,箭头的状态和位置不受影响
  • turtle.reset(): 清除窗口,将状态和位置复位为初始状态
  • turtle.screensize(w, h): 设置画布的宽度和高度
  • turtle.hideturtle(): 隐藏箭头
  • turtle.showturtle(): 显示箭头
  • turtle.circle(r, ext, step): 绘制一个指定半径、范围和阶数为r圆
  • turtle.write("string", font=("Arial", 8, "normal")): 绘制文本字符串string,字体是由字体名、字体大小和字体类型三部分组成

 

以上是关于python-函数和代码复用—七段数码管绘制和爱心的主要内容,如果未能解决你的问题,请参考以下文章

python预课03 三元表达式示例,函数定义示例,七段彩码管绘制示例

python turtle 绘制七段数码管以及14段数码管显示字母和时间

基于turtle库的七段数码管绘制

Python绘制数码管显示当前时间

Python七段数码显示管

Python函数01