蟒蛇绘制
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 一定要首字母大写!!!!
2006

被折叠的 条评论
为什么被折叠?



