首页 > 编程语言 >实验6 turtle绘图与Python库应用编程体验

实验6 turtle绘图与Python库应用编程体验

时间:2023-06-11 18:44:49浏览次数:52  
标签:turtle Python range 绘图 strip import main def

task1-1.py

实验源码:

from turtle import *
def move(x, y):
    penup()
    goto(x, y)
    pendown()
def draw(n, size = 100):
    for i in range(n):
        fd(size)
        left(360/n)
def main():
    pensize(2)
    pencolor('red')
    move(-200, 0)
    draw(3)
    move(0, 0)
    draw(4)
    move(200, 0)
    draw(5)
    hideturtle()
    done()
main()

实验结果:

task1-2.py

实验源码:

from turtle import *
def moveto(x, y):
    penup()
    goto(x, y)
    pendown()
def main():
    pensize(2)
    pencolor('blue')
    moveto(-150, 0)
    circle(50)
    moveto(0, 0)
    circle(50, steps = 4)
    moveto(150, 0)
    circle(50, steps = 5)
    moveto(300, 0)
    circle(50, steps = 6)
    hideturtle()
    done()
main()

实验结果:

task2-1.py

实验源码:

from turtle import *
def moveto(x, y):
    penup()
    goto(x, y)
    pendown()
def main():
    setup(800, 600)
    radius = 20
    offset = 20
    for i in range(9):
        moveto(0, -radius)
        circle(radius)
        radius += offset
    hideturtle()
    done()
main()

实验结果:

task2-2.py

实验源码:

from turtle import *
from random import random

def moveto(x,y):
    penup()
    goto(x,y)
    pendown

def gen_color():
    return tuple((random() for i in range(3)))

def main():
    setup(800,600)

    radius = 180
    offset = 20

    for i in range(8):
        moveto(0,-radius)
        color(gen_color())

        begin_fill()
        circle(radius)
        end_fill()

        radius -= offset

    hideturtle()
    done()

main()

实验结果:

task3-1.py

实验源码:

from turtle import *
def square(size = 50, rgb = 'orange'):
    pencolor(rgb)
    for i in range(4):
        fd(size)
        left(90)
def main():
    setup(800, 600)
    speed(0)
    n =10
    for i in range(n):
        square(80)
        left(360/n)
    hideturtle()
    done()
main()

实验结果:

task3-2.py

实验源码:

from turtle import *
speed(0)
setup(800, 600)
pencolor('pink')
n = 10
for i in range(n):
    for j in range(2):
        circle(80, 90)
        left(90)
    right(360/n)
hideturtle()
done()

实验结果:

task4

实验源码:

from turtle import *
setup(800, 600)
bgcolor('black')
pencolor('white')
speed(0)

angle = 0
size = 2

n = 5   #改
count = 50
for i in range(count):
    fd(size)
    angle += 360/n #改
    seth(angle)
    size += 5

hideturtle()
done()

实验结果:

task5-1

实验源码:

from turtle import *

def start(x,y):
    penup()
    goto(x,y)
    pendown()

def main(c,n,l):
    color(c)
    begin_fill()
    for i in range(n):
        fd(l)
        left(360/n)
    end_fill()

start(-100,-100)
main('black',4,200)

start(-100,0)
right(45)
main('red',4,100*2**(1/2))

hideturtle()
done()

实验结果:

task5-2

实验源码:

from turtle import *
color('blue')
r = 20
for i in range(5):
    r += 20
    forward(r)
    left(90)
    circle(r,90)
    left(90)
    forward(r)
    left(90)
    forward(40)
    goto(0,0)
hideturtle()
done()

实验结果:

task6-1.py

实验源码:

from turtle import *
from random import random
strip = Turtle()
setup(800, 600)
strip.speed(0)

def colors():  # 获取颜色
    return tuple(random() for i in range(3))

strip.penup()
strip.goto(-200,0)
strip.pendown()

for i in range(20):
    strip.color(colors())
    strip.begin_fill()
    for j in range(2):
        strip.fd(20)
        strip.left(90)
        strip.fd(60)
        strip.left(90)
    strip.fd(20)
    strip.end_fill()

strip.hideturtle()
done()

实验结果:

task6-2.py

实验源码:

from turtle import *

def moveto(x,y):
    penup()
    goto(x,y)
    pendown()

bgcolor('black')

moveto(200,-200)
color('yellow')
begin_fill()
left(135)
fd(200)
right(90)
fd(200)
left(90)
circle(200,270)
end_fill()

moveto(80,70)
dot(40,'black')
moveto(72,76)
dot(10,'white')

hideturtle()
done()

实验结果:

 

标签:turtle,Python,range,绘图,strip,import,main,def
From: https://www.cnblogs.com/lqx2022/p/17473368.html

相关文章

  • mac 搭建python开发环境
    导读:       1.先安装brew        ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"       2.用brew安装wget     brewinstallwget      3.用wget下载pip.py     wgethttps://bo......
  • python定时任务
      无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再写一篇以便大家区分。1.计算明天和昨天的日期#!/usr/bin/envpython#coding=utf-8#获取今天、......
  • Python 解析配置模块之ConfigParser详解
      yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:defaddlist(alist):foriinalist:yieldi+1取出alist的每一项,然后把i+1塞进去。然后通过......
  • 非常简单的Python HTTP服务
       如果你急需一个简单的WebServer,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么,Python可能帮助你。使用Python可以完成一个简单的内建HTTP服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。......
  • 6-11|Python中保证两位小数的方法
    如果你在Python编程过程中需要对输出结果限制小数点位数,那么这篇文章将为你提供多种可靠的方法。一、使用round()函数round()函数是Python内置函数,用于四舍五入,也可以限制小数点位数。num=3.1415926result=round(num,2)print(result)输出结果为3.14。这种方法非常简单,但是需......
  • python 模拟form表单流式上传文件
    如果机器上有PycURL,那么可以使用PycURL来上传文件。不过,由于PycURL需要用到curl,在Windows下安装可能会有点麻烦,除PycURL外,也有一些其它实现POST文件上传的方式,比如这儿的2楼有人贴出了一个将文件进行编码之后再POST的方法,另外还有MultipartPostHandler、urllib2_......
  • zabbix监控mysql的QPS和TPS的python写法
    #!/usr/bin/envpython#coding=utf-8importsysimportosimportcommandsclassQpsTps(object):def__init__(self):self.QPS=''self.TPS=''defgetQps(self):(Queries,QPS_result)=commands.getsta......
  • Python中你不知道的特性
    无穷嵌套的列表 >>>a=[1,2,3,4]>>>a.append(a)>>>a[1,2,3,4,[...]]>>>a[4][1,2,3,4,[...]]>>>a[4][4][4][4][4][4][4][4][4][4]==aTrue 无穷嵌套的字典>>>a={}>>>b={}>>......
  • Python | *args和**kwargs是什么?怎么用?
    在python语言写成的模块中的函数里,常常可以看到函数的参数表列里面有这两个参数,形如:defsome_function(*args,**kwargs):todolistreturn...*args和**kwargs是什么?首先,解释星号的作用,一个星号*的作用是将tuple或者list中的元素进行unpack,作为多个参数分开传入;两......
  • Python使用Redis实现一个简单作业调度系统
        概述Redis作为内存数据库的一个典型代表,已经在很多应用场景中被使用,这里仅就Redis的pub/sub功能来说说怎样通过此功能来实现一个简单的作业调度系统。这里只是想展现一个简单的想法,所以还是有很多需要考虑的东西没有包括在这个例子中,比如错误处理,持久化等。下面是实现上......