Python基础(4)turtle蟒蛇绘制 七段数码管绘制

蟒蛇绘制

print('hello,嘿\n')# vfvgbgv
"""图形绘制turtle"""

import turtle# 绘图库(海龟)
turtle.setup(650,350,200,200)
# 此时海龟在窗体正中心
# 绘图窗体,单位是像素
# turtle.setup(width, height, startx, starty)
# width, height是绘图窗体宽高
# startx, starty可省略(正中心),是窗口左上角在屏幕的位置,屏幕左上为(0,0)
turtle.penup()#抬起画笔(抬起画笔后移动画笔将不会留下图案)
turtle.fd(-250)#画笔向前移动距离,向后为bk
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("magenta")
turtle.seth(-40)
# 海龟转向至绝对坐标的-40°方向(绝对坐标右侧为0°)
# 改变运动的方向不行进
# turle.left/right(°)往当前方向左/右面改变方向
for i in range (4):#前四次波浪,range(4)表示0,1,2,3
    turtle.circle(40,80)
    # 逆时针画半径为40的圆80°角
    # 默认圆心位置在海龟左侧,半径为负数代表在右侧
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)#turtle.forward()
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()#若用turtle.end则会在画图后自动关闭窗口

改进

☆将 import turtle 改成 from turtle import *
可将代码中所有 turtle. 省略,但容易造成函数名的重复
★将 import turtle 改成 import turtle as t 可将库名改为 t,既简洁又不会重复

七段数码管绘制

在这里插入图片描述

import turtle
def drawline(draw):
    # 绘制单线段
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    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(40)

def drawdate(date):
    # 将日期中每个数字输出成数字管
    for i in date:
        drawdigit(eval(i))

def main():
    date = input("请输入日期:")
    turtle.setup(800,350,200,200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(15)
    drawdate(date)
    turtle.hideturtle()
    turtle.done()

main()

注意 True 和 False 一定要首字母大写!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值