Python利用Turtle绘画简单图形
作者:老师好我叫余同学 发布时间:2021-12-02 04:59:21
标签:Python,Turtle,绘画,图形
前期准备
首先,使用Python
内置的Turtle
绘图库需要在程序前添加以下代码:
import turtle
也可以写成这样:
from turtle import *
我们来讲一讲它们的区别:
使用import
时,需要定义一个变量作为参数控制项,如:
import turtle
t=turtle.Pen()
# 画图
t.forward(10) # 向右画10像素,详见下表
而使用from
时,可以直接命令程序,不需要多余语句
from turtle import *
# 画图
forward(10) # 向右画10像素,详见下表
基本函数与用法
绘画图形
1.画一个正方形
import turtle
t=turtle.Pen()
t.pencolor("orange") # 画笔颜色设置为橙色
for i in range(1,5):
t.fd(50) # 向右画50像素
t.lt(90) # 转90度,画下一条边
2.画一个三角形
步骤:先画一条边,右转120°
,再画一条边,右转120°
,最后画一条边
import turtle
t=turtle.Pen()
t.pencolor("orange") # 画笔颜色设置为橙色
t.fd(150)
t.rt(120)
t.fd(150)
t.rt(120)
t.fd(150)
3.画一个八角星
import turtle
t=turtle.Pen()
t.pencolor("orange")
for x in range(1,9): # 执行8次
t.fd(100)
t.lt(135)
4.画一个八边形
重点:每画一条边后都旋转45°
import turtle
t=turtle.Pen()
t.pencolor("orange")
for i in range(1,9): #循环8次
t.forward(50) #画线
t.right(45) #转向
我们还能通过Turtle
画一些有趣的图形
5.其他图形
#test 1.1
import turtle
t=turtle.Pen()
t.pencolor("orange")
for i in range(1,4):
t.fd(50)
t.rt(120)
t.fd(50)
t.rt(120)
t.fd(50)
import turtle #导入turtle库
t = turtle.Pen()
t.pencolor("orange")
for i in range(5):
t.forward(100) # 向右移动300
t.right(180-180/5) # 180-五角星的内角和/5
t.done()
到现在为止,我们画的图形都只有一种颜色,那么,怎样才能画出多种颜色的图案呢?
我们可以先定义一个颜色列表,在每次画的时候随机
取出一种颜色,就可以画出多彩的图案
colors=["red","orange","yellow","green","blue","purple"]
随机取出颜色的代码:
t.pencolor([colors%5])
No.1、多彩的五角星
import turtle #导入turtle库
t = turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(5):
t.pencolor(colors[i%5])
t.forward(100) # 向右移动300
t.right(180-180/5) # 180-五角星的内角和/5
t.done()
No.2、多彩的八角星
import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(1,9): # 执行8次
t.pencolor(colors[i%6])
t.fd(100)
t.lt(135)
No.3、四圆镶嵌
import turtle
t=turtle.Pen()
colors=["red","green","yellow","blue"]
for i in range(1,100):
t.pencolor(colors[i%4])
t.circle(i) #画圆
t.lt(91)
No.4、彩虹螺旋
import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
turtle.bgcolor("black")
for i in range(500000):
t.pencolor(colors[i%6])
t.fd(i)
t.lt(64)
t.width(i/10-1)
来源:https://blog.csdn.net/weixin_45122104/article/details/125812224
0
投稿
猜你喜欢
- SQL Server具有强大的复制功能,除了将数据和数据库对象从一个数据库复制并准确分发的另一个数据库中,还要实行数据库之间的同步。SQL
- 作者: Alan Pearce原文: Multi-Column Layouts Climb Out of the Box地址: http:/
- 很久以前写过如何成为优秀的设计师,近半年来经常做设计评审,有很多感触,顺便写一点下来,我们的Blog也应该有更高的更新频率。言归正传,我认为
- 线程池的概念是什么?在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是 如此,虚
- 基于spring boot开发的微服务应用,与MyBatis如何集成?集成方法可行的方法有:1.基于XML或者Java Config,构建必
- <html> <head> <meta http-equiv="Content-Type"
- GetObject 函数返回对文件中 Automation 对象的引用。GetObject([pathname] [, class])参数P
- 前言:Python是世界上最流行的解释型编程语言之一。Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承
- 根据"客服果果"的"十几行的超简日历组件"http://bbs.51js.com/viewthrea
- 主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记
- 实现网页的键盘输入操作from selenium.webdriver.common.keys import Keys * 页有时需要将鼠标
- 文件内容如下:Alex 100000Rain 80000Egon 50000Yuan 30000
- 关于current()函数: 每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。用current()获取。
- 1、自定义 图表 组件Echarts.vue<!-- 自定义 echart 组件 --><template> <
- 1. 创建用户模块应用创建应用users$ python manage.py startapp users 2. 注册用户模块应用
- 01前言数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而,由于可移植文档格式(
- 每每见到这三个函数,我都会很懵,一定要到网上搜搜;今天,恰巧又见到了它们,所以想必是时候为它们做个笔记啦1.slice(数组)用法:arra
- 目录先明确几点赋值浅拷贝深拷贝总结先明确几点不可变类型:该数据类型对象所指定内存中的值不可以被改变。(1)、在改变某个对象的值时,由于其内存
- vue-amap是对高德地图JS API进行封装的、适用于vue项目的地图组件库。在笔者开发的很多项目中都有用到,相比直接使用高德地图JS
- 之前给大家介绍过单机当前进程的滑动窗口限流 , 这一个是使用go redis list结构实现的滑动窗口限流 , 原理都一样 , 但是支持分