Python课程笔记(七)
今天学习神奇的海龟,非常有意思,还有很多图片想去绘制,分享一个turtle绘图网站: https://www.python123.io/index/turtles/latest , 要是可以分享出源码就好了。
1、海龟画三角形
先来一个简单的三角形,观察left函数和right函数的区别。
from turtle import *
forward(200)
left(120)
forward(200)
left(120)
forward(200)
left(120)
done()

稍作修改呢
from turtle import *
forward(200)
right(120)
forward(200)
right(120)
forward(200)
right(120)
done()

2、海龟画一个正方形
from turtle import *
'''
练习1:画一个正方形,从原点(0,0)出发,前进100,左转90度,
前进100,左转90度,前进100,左转90度,前进100,左转90度。
'''
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
done()

3、海龟画凸形
画懂该图形,海龟的方向我们一定就能掌握了。
不嫌麻烦的画了一个转向图,便于理解:

from turtle import *
forward(50)
left(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)
right(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)
done()

4、海龟画五角星
from turtle import *
forward(200)
right(144)
forward(200)
right(144)
forward(200)
right(144)
forward(200)
right(144)
forward(200)
done()

5、海龟的速度
先来体验看看!在此请copy观赏
from turtle import *
speed(1)
forward(200)
right(120)
speed(5)
forward(200)
right(120)
speed(10)
forward(200)
取值范围在[0,10],speed越大画笔完成动作的速度越快。在这里测试,我个人感觉0的速度和10的速度一样(其实0是直接构建图形喽?)。当给定值大于10或者小于0.5,则统一设置为0
6、海龟走坐标
goto(x,y) 根据坐标来绘图
from turtle import *
goto(100,0)
goto(100,100)
goto(-100,100)
goto(-100,-100)
goto(100,-100)
done()

7、海龟画太阳
学会运用循环,再加上颜色,构建有难度的图形
from turtle import *
'''
turtle是python绘制图形时使用的一个函数库,abs(pos())是使用turtle绘图时用的一个语句。
abs:绝对值 pos:位置
abs(pos())<10: 可理解为 画笔所处位置的坐标,距离原点(0,0)的距离的绝对值小于10
'''
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 10:
break
end_fill()
done()

8、自行完成一幅作品
根据网上作品学习改编了一哈,一款纪念作。

from turtle import *
bgcolor("black")
hideturtle()
penup()
width(3)
goto(-200,0)
color("gold")
goto(-204,-12)
begin_fill()
fillcolor("purple")
pendown()
right(90)
forward(160)
right(128)
forward(20)
right(45)
forward(112)
goto(-204,-12)
end_fill()
penup()
goto(-204,0)
pendown()
begin_fill()
fillcolor("purple")
setheading(155)
forward(112)
left(133)
forward(32)
left(30)
forward(68)
goto(-204,0)
end_fill()
penup()
goto(-204,8)
pendown()
begin_fill()
fillcolor("purple")
setheading(90)
forward(32)
left(67)
forward(80)
left(42)
forward(28)
goto(-204,8)
end_fill()
penup()
goto(-196,-12)
begin_fill()
fillcolor("purple")
pendown()
setheading(270)
forward(160)
left(128)
forward(20)
left(45)
forward(112)
goto(-196,-12)
end_fill()
penup()
goto(-196,0)
pendown()
begin_fill()
fillcolor("purple")
setheading(25)
forward(112)
right(133)
forward(32)
right(30)
forward(68)
goto(-196,0)
end_fill()
penup()
goto(-196,8)
pendown()
begin_fill()
fillcolor("purple")
setheading(90)
forward(32)
right(67)
forward(80)
right(42)
forward(28)
goto(-196,8)
end_fill()
penup()
color("purple")
goto(0,0)
write("manba out forever", font=('Consolas', 24, 'normal'))
goto(80,-50)
write("1.26", font=('Consolas', 24, 'normal'))
done()
Python课程笔记(七)的更多相关文章
- Python课程笔记(一)
由于新冠状病毒的爆发,不得不在家里上网课,开课已经两个礼拜了,今天上完Python课后,准备整理一下最近学习Python的笔记. 人生苦短,我用Python 一.Hello World 初学一门新的语 ...
- Python学习笔记七
面向对象编程 面向对象的特性如下: 类:具有相同属性和方法的一类事物,成为类. 对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性. 封装:在类中对数据的赋值,类里面包含着类 ...
- Python课程笔记(十)
不陌生,之前学习一个开源SpringBoot项目,Mysql5.5更换到5.7搞得头疼. 数据库连接的坑之前写的IDEA系列连接会遇到的问题.课程代码 今天上课就主要学习了python如何连接mysq ...
- Python课程笔记(九)
本次课程主要学习了Excel和JSON格式的一些读写操作.课程代码 一.Excel数据读写操作 1.安装模块 pip install xlrd pip install xlwt 网不好可以采用三方库: ...
- Python课程笔记(八)
一些简单的文件操作,学过linux的话理解感觉不会很难.课程代码 一.OS 目录方法 这个模块提供了一种方便的使用操作系统函数的方法 函数 说明 os.mkdir("path") ...
- Python课程笔记(六)
今天上课补上了上次未学完比较重点的鼠标和键盘事件,同时开始学习运用turtle进行绘图. 本次课程的代码: https://gitee.com/wang_ming_er/python_course_l ...
- Python课程笔记 (五)
今天主要学习图形用户界面,更多的还是要我们自己去实际操作,课仿佛上了一半就完了,分享一下课程(这里在SixthClass)的源码: https://gitee.com/wang_ming_er/pyt ...
- python学习笔记七 初识socket(进阶篇)
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- python学习笔记七--数据操作符
一.Python表达式操作符及程序:
随机推荐
- C# 反射 + Quartz,实现流程处理
场景: 前不久,公司里项目经理要求我实现流程处理,比如,用户可以定义一个定时任务,每周一查看报表.定时任务很简单,用Quartz可以实现,但是用户自己选择报表就比较麻烦,因为系统的不同模块的生成报表的 ...
- CodeForce-798C Mike and gcd problem(贪心)
Mike has a sequence A = [a1, a2, ..., an] of length n. He considers the sequence B = [b1, b2, ..., b ...
- 利用 g4l 完整备份和还原Linux系统
前言: 1.Windows中Ghost由于一系列原因,有不支持分区格式,因此可能无法完整备份Linux. 2.g4l = Ghost for Linux 1.下载g4l https://sourcef ...
- php在类中使用回调函数 如array_map
<?php class foo { var $var; function bar() { array_map(array($this, "baz"), ar ...
- gin 源码阅读(1) - gin 与 net/http 的关系
gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin. 这个系列 gin 源码阅读会逐步讲明白 gin 的原理. gin 概览 想弄清楚 gin, ...
- python二级 第9套
1. prInt.默认输出空格 2. 我的这种想法也行不通啊 format() 一次只能有一个未知量 2. 分割的结果就是列表 3. 对比"大学" 上一套的split('&q ...
- 用Python基本库实现进度条
用Python基本库实现进度条效果几个要点:1. \r,重置光标2. time.perf_counter,计算运行时间3. 用format控制输出格式 1 #progress bar2 2 #The ...
- JQuery EasyUI 结合ztrIee的后台页面开发
JQuery EasyUI 结合 zTree树形结构制作web页面.easyui用起来比较简单,很好的封装了jquery的部分功能,使用起来更加方便,但是从1.2.3版本以后,商业用途是需要付费的, ...
- 3-等待线程终止的join方法
等待线程终止的join方法 在项目实践中经常会遇到一个场景,就是需要等待某几件事完成之后才能继续往下执行,比如线程加载资源等等. package com.heiye.learn1; public cl ...
- 2.1 附录--JVM指令手册
栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将 ...