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

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

时间:2023-06-11 21:56:51浏览次数:38  
标签:turtle python range 绘图 radius 源代码 def size

task1-1

源代码

 1 from turtle import *
 2 
 3 def move(x, y):
 4     '''画笔移动到坐标(x,y)处'''
 5     penup()
 6     goto(x,y)
 7     pendown()
 8 
 9 def draw(n, size=100):
10     '''绘制边长为size的正n变形'''
11     for i in range(n):
12         fd(size)
13         left(360/n)
14 
15 def main():
16     pensize(2)
17     pencolor('red')
18 
19     move(-200,0)
20     draw(3)
21 
22     move(0,0)
23     draw(4)
24 
25     move(200, 0)
26     draw(5)
27 
28     hideturtle()
29     done()
30 
31 main()

测试结果

 

task1-2

源代码

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

源代码

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

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

源代码

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

from turtle import *
from random import random

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

测试结果

task3-1

源代码

from turtle import *

def square(size=50, rgb='pink'):
    '''绘制正方形
    :para: size:int 指定边长 (如未指定参数,使用默认值)
    :para: c: str 指定画笔颜色值 (如未指定参数,使用默认值)
    '''

    pencolor(rgb)
    for i in range(4):
        fd(size)
        left(90)

def main():
    setup(800, 600)
    speed(0)

    n = 3
    for i in range(n):
        square(80)
        left(360/n)

    hideturtle()
    done()

main()

测试结果

源代码

from turtle import *

def square(size=50, rgb='pink'):
    '''绘制正方形
    :para: size:int 指定边长 (如未指定参数,使用默认值)
    :para: c: str 指定画笔颜色值 (如未指定参数,使用默认值)
    '''

    pencolor(rgb)
    for i in range(4):
        fd(size)
        left(90)
def trangle(size=50):
    for i in range(3):
        fd(size)
        left(120)



setup(800, 600)
speed(0)
n = 10
for i in range(n):
    square(80)
    left(360/n)



hideturtle()
done()

测试结果

task3-2

源代码

from turtle import *

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

n=10
for i in range(n):
    for i 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 = 4  # 螺旋n边形
count = 50
for i in range(count):
    fd(size)
    angle += 360/n+1
    seth(angle)
    size += 5

hideturtle()
done()

测试结果

 

 task5-1

源代码

from turtle import *
def square(size):
    for i in range(4):
        fd(size)
        left(90)



penup()
goto(-100, -100)
pendown()
begin_fill()
fillcolor('black')
square(200)
end_fill()

penup()
goto(0, -100)
pendown()
left(45)
begin_fill()
fillcolor('red')
square(100*(2**0.5))
end_fill()

hideturtle()
done()

测试结果

task5-2

源代码

from turtle import *

pensize(2)
pencolor('blue')

radius = 40
offset = 20

for i in range(5):
    home()
    setheading(0)
    forward(radius)
    left(90)
    circle(radius, 90)
    left(90)
    forward(radius)
    radius += offset

done()

task6

源代码

from turtle import *
def moveto(x, y):
    penup()
    goto(x, y)
    pendown()

bgcolor('black')
pencolor('yellow')
begin_fill()
fillcolor('yellow')
goto(100, 100)
left(135)
circle(100*2**0.5, 270)
end_fill()

pencolor('black')
begin_fill()
fillcolor('black')

moveto(0, 80)
circle(15)
end_fill()

moveto(-15, 90)
begin_fill()
fillcolor('white')
circle(5)
end_fill()

hideturtle()
done()

测试结果

 

标签:turtle,python,range,绘图,radius,源代码,def,size
From: https://www.cnblogs.com/tyy2004/p/17473687.html

相关文章

  • Centos7安装python
    1.熟悉官网及安装pythonhttps://www.python.org/  安装python1. yum-builddeppython3-y安装依赖:yumgroupinstall"Developmenttools"-yyuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-devellibffi-devel-y......
  • Python判断字符串是否包含特定子串的7种方法(转)
    转自:Python判断字符串是否包含特定子串的7种方法在写代码的过程中,我们经常会遇到这样一个需求:判断字符串中是否包含某个关键词,也就是特定的子字符串。比如从一堆书籍名称中找出含有“python”的书名。判断两个字符串相等很简单,直接==就可以了。其实判断包含子串也非常容易,而且......
  • python编码decode和encode
                文章来源:https://www.cnblogs.com/skyflask/p/7622991.html ......
  • Python Django Restful API simple JWT
    在这种情况下,您可以创建一个自定义权限类,并检查用户所属的任何组是否具有相应的权限。例如,您可以在Django后台为每个组定义一个具有读取权限(`view`权限)的权限对象。然后,在自定义权限类中检查用户组是否具有此权限。首先,在`models.py`文件中创建一个新的权限。例如,创建一个名......
  • 关于python程序打包的问题-找不到fsspec
    转载自:https://blog.csdn.net/weixin_47861710/article/details/121267155这个问题困扰了我将近两天的时间一直找不到什么好的办法,甚至打算放弃。主要原因是身边没有可以述说的人,也没有可以请教的人。正在想要放弃的时候找到了解决办法。打包后运行程序是这样的,大概意思是找不......
  • 实验6 turtle绘图与Python库应用编程体验
    task1-1.py实验源码: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)......
  • 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。......