MOOC《Python语言程序设计》(第15次)
Python基本图形绘制(第二周)21.7.7
文章目录
- MOOC《Python语言程序设计》(第15次)
- Python基本图形绘制(第二周)21.7.7
- 练习题
- 测验2:PYTHON基本图形绘制(第2周)
- 单项选择题
- 1、哪个选项不能正确引用turtle库进而使用setup()函数?
- 2、关于turtle库,哪个选项的描述是错误的?
- 3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?
- 4、哪个选项是下面代码的执行结果?
- 5、关于turtle库绘图函数,哪个选项的描述是错误的?
- 6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
- 7、哪个选项不能改变turtle画笔的运行方向?
- 8、哪个选项所列保留字能够实现对一组语句的循环执行?
- 9、哪个选项能够使用turtle库绘制一个半圆形?
- 10、哪个选项对turtle.done()的描述是正确的?
- 程序设计题
- **学习笔记:**
练习题
实例2: Python蟒蛇绘制
# 参考代码
import turtle # 引入 海龟库
#传统方法
# turtle.setup(width,height,startx,starty)
# 省去x,y,默认窗口在屏幕s正中心
turtle.setup(650,350,200,200)
turtle.penup() # 画笔抬起
turtle.fd(-250) # turtle.fd(d) 海龟正前方向运行
turtle.pendown() # 画笔落下
turtle.pensize(25) # 画笔大小
turtle.pencolor("purple") # 画笔颜色
turtle.seth(-40) # turtle.seth(angle) 改变当前海龟的行进角度(只改变行进方向)
for i in range(4):
# turtle.circle(r,angle) 以海龟的当前位置为左侧某一个点为圆心进行曲线运行
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40 * 2/3)
turtle.done()
turtle正方形绘制
# 参考代码
import turtle as t
t.pensize(2)
for i in range(4):
t.fd(150)
t.left(90)
turtle六边形绘制
# 参考代码
import turtle as t
t.pensize(2)
for i in range(6):
t.fd(150)
t.left(60)
turtle叠边形绘制
# 参考代码
import turtle as t
t.pensize(2)
for i in range(9):
t.fd(150)
t.left(80) #720/9
测验2:PYTHON基本图形绘制(第2周)
单项选择题
1、哪个选项不能正确引用turtle库进而使用setup()函数?
A、import setup from turtle
B、from turtle import*
C、import turtle as t
D。import turtle
正确答案 A
import只有三种使用方法,以turtle库为例:
import turtle
from turtle import setup 或 from turtle import *
import turtle as t (其中t是别名,可以更换其他名称)
2、关于turtle库,哪个选项的描述是错误的?
A、turtle库最早成功应用于LOGO编程语言
B、turtle绘图体系以水平右侧为绝对方位的0度
C、turtle库是一个直观有趣的图形绘制函数库
D、turtle坐标系的原点默认在屏幕左上角
正确答案 D
turtle坐标系的原点默认在窗体正中间
3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?
A、画布正下方
B、画布正右方
C、画布正上方
D、画布正左方
正确答案 B
坐标系类似这样,角度坐标系的绝对0度方向是右侧
4、哪个选项是下面代码的执行结果?
turtle.circle(-90,90)
turtle.circle(-90,90)
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
B、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
C、绘制一个半径为90像素的整圆形
D、绘制一个半径为90像素的弧形,圆心在画布正中心
正确答案 A
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
5、关于turtle库绘图函数,哪个选项的描述是错误的?
A、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
B、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
C、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度是一个数值 (整型或浮点型)
D、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
正确答案 A
circle()函数不能绘制椭圆形。
6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
A、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
B、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
C、turtle.penup()的别名有turtle.pu(),turtle.up()
D、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
正确答案 B
turtle.pendown()只是放下画笔,并不绘制任何内容。
7、哪个选项不能改变turtle画笔的运行方向?
A、left()
B、bk()
C、seth()
D、right()
正确答案 B
bk()只能后退,但不改变方向,“后退"不是"转向”。
8、哪个选项所列保留字能够实现对一组语句的循环执行?
A、for和in
B、if和else
C、while和def
D、range()
正确答案 A
循环相关保留字是:for…in和while,但def用于定义函数,不相关。
9、哪个选项能够使用turtle库绘制一个半圆形?
A、turtle.circle(100, -180)
B、turtle.fd(100)
C、turtle.circle(100, 90)
D、turtle.circle(100)
正确答案 A
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
10、哪个选项对turtle.done()的描述是正确的?
A、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成
C、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后
D、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
正确答案 D
建议在每个turtle绘图最后增加turtle.done()。
程序设计题
turtle八边形绘制
'''
**描述**
使用turtle库,绘制一个八边形。
'''
# 参考代码
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(100)
t.left(45)
turtle八角图形绘制
'''
**描述**
使用turtle库,绘制一个八角图形。
'''
# 参考代码
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(150)
t.left(135)
学习笔记:
1、turtle库中的体系
1.1 绘图坐标体系
绘图窗体布局:最小单位—像素;
启动窗体的位置和大小:turtle.setup(width,height,startx,starty)
--Width-宽度;height-高度;
--startx,stary—界面左上角相对屏幕左上角的坐标
turtle.setup(width,height) 默认在屏幕正中心
1.2 空间坐标体系(绝对坐标)
1.3 角度坐标体系(绝对角度)
1.4 RGB色彩体系
默认采用小数值,可切换为整数值
turtle.colormode(mode)
–1.0:RGB小数值模式
–255:RGB整数值模式
常用颜色:
英文名称 | RGB整数值 | RGB小数值 | 中文名 |
---|---|---|---|
white | 255,255,255 | 1,1,1 | 白色 |
yellow | 255,255,0 | 1,1,0 | 黄色 |
magenta | 255,0,255 | 1,0,1 | 洋红 |
cyan | 0,255,255 | 0,1,1 | 青色 |
blue | 0,0,255 | 0,0,1 | 蓝色 |
black | 0,0,0 | 0,0,0 | 黑色 |
seashell | 255,245,238 | 1,0.96,0.93 | 海贝色 |
gold | 255,215,0 | 1,0.84,0 | 金色 |
pink | 255,192,203 | 1,0.75,0.80 | 粉红 |
brown | 165,42,42 | 0.65,0.16,0.16 | 棕色 |
purple | 160,32,240 | 0.63,0.13,0.94 | 紫色 |
tomato | 255,99,71 | 1,0.39,0.28 | 番茄 |
2、库引用
传统方法:不会出现函数重名问题
- import <库名>
<库名>.<函数名>(<函数参数>)
更多用法:使用from和import,会出现函数重名问题
- from <库名> import <函数名>
- from <库名> import*
<函数名>(<函数参数>)
3、画笔控制函数
- 基本操作函数
turtle.penup() 画笔抬起,海龟轨迹不形成图案
turtle.pendown() 画笔落下(一般先up落到起点,down下笔)
turtle.pensize(width) 画笔宽度,等价于海龟腰围turtle.width(width)
turtle.pencolor() 画笔颜色
–turtle.pencolor(“purple”) 颜色字符串形式
–turtle.pencolor(0.63,0.13,0.94) RGB的小数值
–turtle.pencolor( ( 0.63,0.13,0.94)) RGB的元组值
- 运动控制函数
turtle.goto(x,y) 在任何位置的海龟去到达某一个坐标位置,直线
turtle.fd(d) 海龟正前方向运行,d可以为负数
turtle.bk(d) 向海龟的反方向运行
turtle.circle(r,angle) 以海龟的当前位置为左侧某一个点为圆心进行曲线运行
- 方向控制函数
turtle.seth(angle) 改变当前海龟的行进角度(只改变行进方向)
turtle.left(angle) 从海龟坐标角度向左/右改变方向
–turtle.pencolor(0.63,0.13,0.94) RGB的小数值
–turtle.pencolor( ( 0.63,0.13,0.94)) RGB的元组值
- 运动控制函数
turtle.goto(x,y) 在任何位置的海龟去到达某一个坐标位置,直线
turtle.fd(d) 海龟正前方向运行,d可以为负数
turtle.bk(d) 向海龟的反方向运行
turtle.circle(r,angle) 以海龟的当前位置为左侧某一个点为圆心进行曲线运行
- 方向控制函数
turtle.seth(angle) 改变当前海龟的行进角度(只改变行进方向)
turtle.left(angle) 从海龟坐标角度向左/右改变方向
turtle.right(angle)
资料来源:
Python语言程序设计_北京理工大学_中国大学MOOC(慕课) https://www.icourse163.org/course/BIT-268001