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

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

时间:2023-06-12 14:34:46浏览次数:47  
标签:turtle python range 绘图 90 main def left

实验任务1

from turtle import *

def move(x,y):
    '''画笔移动到坐标(x,y)处'''
    penup()
    goto(x,y)
    pendown()

def draw(n,size = 100):
    '''绘制边长为size的正n边形'''
    for i in range(n):
        fd(size) #画笔向前移动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()

from turtle import *

def moveto(x,y):
    '''把画笔移动至坐标(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()

 

实验任务2

'''以(0,0)为圆心,绘制9个同心圆'''

from turtle import *

def moveto(x,y):
    '''把画笔移动至坐标(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()

'''以(0,0)为圆心,绘制9个彩色同心圆,色彩随机生成'''

from turtle import *
from random import random

def moveto(x,y):
    '''把画笔移至坐标(x,y)处'''
    penup()
    goto(x,y)
    pendown()

def gen_color():
    '''生成一个以rgb三元组表示的颜色值并返回'''
    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()

 

实验任务3

from turtle import *

def square(size = 50, rgb = 'orange'):
    '''绘制正方形
    :para:size:int 指定边长(如未指定参数,使用默认值)
    '''

    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()

from turtle import *

setup(800,600)
pencolor('pink')

n = 10
for i in range(n+1):
    #绘制一片花瓣
    for j in range(2):
        circle(80,90)
        left(90)

    right(360/n)

hideturtle()
done()

 

实验任务4

from turtle import*

setup(800,600)
bgcolor('black') #背景颜色
pencolor('white')
speed(0)

angle = 0
size = 2

n =  5 #螺旋n边形
count = 50 #循环次数
for i in range(count):
    fd(size)
    angle += 360/n
    seth(angle)
    size += 5

hideturtle()
done()

 

实验任务5

from turtle import *

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

def draw():
    for i in range(4):
            fd(200)
            left(90)

def main():
    move(-100,-100)
    color('black')
    begin_fill()
    draw()
    end_fill()

    move(0,-100)
    color('red')
    begin_fill()
    circle(100,steps = 4)
    end_fill()
    hideturtle()
    done()

main()

from turtle import*

def move(x,y):
    '''画笔移动到坐标(x,y)处'''
    penup()
    goto(x,y)
    pendown()

pensize(2)
pencolor('Blue')
n = 5
left(-90)

for i in range(n):
    left(90)
    move(0,0)
    fd(40+20*i)
    left(90)
    circle(40+20*i,90)
    left(90)
    fd(40+20*i)

hideturtle()
done()

 

实验任务6

from turtle import *
from random import random

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

def gen_color():
    return tuple(random() for i in range(3))
def rect(a,b,c):
    color(c)
    fd(a)
    left(90)
    fd(b)
    left(90)
    fd(a)
    left(90)
    fd(b)

setup(800,600)
move(-100,0)
for i in range(20):
    c = gen_color()
    begin_fill()
    rect(10,30,c)
    end_fill()
    left(90)
    fd(10)

hideturtle()
done()

 

标签:turtle,python,range,绘图,90,main,def,left
From: https://www.cnblogs.com/zz666666/p/17474931.html

相关文章

  • 为什么很多人自学Python都放弃了?
     有些人学Python并不是因为对编程有浓厚的兴趣,或者没有经验尝试认为入门容易。因此,当他们开始学习Python时,可能会遇到一些困难或感到挫败,导致他们放弃。总的来说,python并不是你想想的那样简单。以下是可能导致放弃的原因:缺乏计算机科学和编程基础:学习Python需要具备一定的计......
  • 为什么很多人自学Python都放弃了?
    有些人学Python并不是因为对编程有浓厚的兴趣,或者没有经验尝试认为入门容易。因此,当他们开始学习Python时,可能会遇到一些困难或感到挫败,导致他们放弃。总的来说,python并不是你想想的那样简单。以下是可能导致放弃的原因:缺乏计算机科学和编程基础:学习Python需要具备一定的计算机科......
  • Python 绘图 colorbar 隐藏刻度保留标签 (颜色刻度 和标签刻度 两个)
      ax3=fig.add_axes(config['setpng']['colorbar'])#四个参数分别是左、下、宽、长  cb3=mpl.colorbar.ColorbarBase(ax3,cmap=_cmap,norm=norm)  #set_colorbar_ticks(cb3,levels,config['levels']['wind_s_label'])#色标刻度调整  ......
  • Python实验课6
    实验任务一实验源码:fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red')move(-200,0)......
  • Python | 装饰器
    前言其实装饰器就是类似于女孩子的发卡。你喜欢的一个女孩子,她可以有很多个发卡,而当她戴上不同的发卡,她的头顶上就是装饰了不同的发卡。但是你喜欢的女孩子还是你喜欢的女孩子。如果还觉得不理解的话,装饰器就是咱们的手机壳,你尽管套上了手机壳,但并不影响你的手机功能,可你的手机还......
  • Python 有S1和S2的字符串,S2是S1的子串,输出S1中不含S2的字符串
     思路:1. 先做替换,把S1与S2相同的子串替换为空2.有坑:第一步替换后,可能会出现新的字符串有包含S1中3.利用递归再去替换1a="tomcatisabigccatatandsmallcacatt-yyds"2b="cat"34defA(a,b):5ifbnotina:#先给个递......
  • Python 集合
    Set数据类型一、创建一个set#set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。#访问速度快,天生解决了重复问题>>>s1=set(['root','gm','evescn','gm'])二、查看set>>>s1{'gm','evescn......
  • python学习笔记35-脚本有多个文件时如何指定import_path
    如果脚本涉及多个文件,且分布在多个目录中,则会涉及到import其它目录的文件.如果脚本不在脚本所在的目录run,则会涉及到run目录与脚本目录不相关.如何解决这个问题呢?假设目录结构如下:/a/b/c/bin/dfx.py/a/b/c/atpg/atpg.py/a/b/c/atpg/atpg_sim.py/a/b/c/common/my_......
  • Python工具箱系列(三十五)
    前文使用了SQLAlchemy的Core层来实现数据库、表与数据的CRUD。初步体现出了SQLAlchemy的优势。但ORM的特点没有充分地表现出来。下面的代码则从Python的类出现,生成表结构,并且进行数据的CRUD操作。fromsqlalchemyimport(Column,DateTime,Float,ForeignKey,Integer,MetaDa......
  • 实验6 turtle绘图与python库应用编程体验
    实验任务1task1-11fromturtleimport*2defmove(x,y):3penup()4goto(x,y)5pendown()6defdraw(n,size=100):7foriinrange(n):8fd(size)9left(360/n)10defmain():11pensize(2)12pencolor(......