2021-07-21/22 Python嵩天MOOC学习笔记 第二周

Python嵩天MOOC学习笔记

第二周:基本图形绘制

一、计算机的演进过程与多种编程语言

计算机的演进过程:
在这里插入图片描述

多种编程语言的特征:

  • c语言:强调指针、内存、数据类型;本质在于理解计算机的系统结构,使算法能更高性能地运行;适合计算机系统的底层开发
  • JAVA:诞生于网络与视窗时代,面向对象,适合跨平台、交互;适合软件类学习
  • C++:C&面向对象;核心,有用
  • VB:人机之间的交互;桌面应用的开发(目前主要是网页应用,所以VB渐渐式微)
  • python:完成各种计算任务

二、Turtle库

引入:
python计算生态 = 标准库+第三方库
库library、包package、模块module,统称模块

①turtle的绘图窗体

屏幕坐标系:整个电脑屏幕左上方是(0,0)
代码:

turtle.setup(800, 400, 100, 200)
#分别表示弹出窗体的(width, height, startx, starty
#后两个表示窗体左上角的坐标;可以去掉,则默认正中心
#这段代码不是必须的
②空间坐标体系

attention:turtle初始位于窗体的中心
在这里插入图片描述绝对坐标:

import turtle
turtle.goto(100, 100)
turtle.goto(100, 200#从正中心直线走到100,100处,再直线走到100,200处

在这里插入图片描述
海龟坐标:无论海龟在哪,行进方向就叫前进方向

import.turtle
turtle.fd(d) #向海龟前进方向
turtle.bk(d) #向海龟后退方向
turtlr.circle(r, angle) #以海龟前进方向左侧的某点为圆心做圆周运动
③角度坐标体系

在这里插入图片描述 绝对角度

turtle.seth(angle)
#只改变行进方向,不行进
#参考上图
#以下为海龟角度:
turtle.left(angle) #向左转角度
turtle.right(angle) #向右
④RGB色彩体系

RGB:红绿蓝;每个颜色取值范围为0-255整数或0-1小数
在这里插入图片描述
在这里插入图片描述

turtlr.colormode(mode)
#mode处填1.0,则后续代码用小数形式修改
#mode处填255,则后续代码用RGB整数形式修改
#一般默认使用小数形式

三、实例分析

①import

- 使用import保留字扩充程序功能,采用a.b的风格

import <库名>
<库名>.<函数名><函数参数>

-使用import保留字扩充程序功能,采用from&import的风格

#此方式可能会因为库中函数名(如setup)和用户自定义的函数名重复而产生bug
from <库名> import <函数名>
或者
from <库名> import*
<函数名><函数参数>)

实例:
from turtle import*
setup(650,350)
penup()
fd(-250)

- 使用import保留字扩充程序功能,采用as&import的风格(推荐)

import<库名> as <库别名>
<库别名>.<函数名><函数参数>#库别名即给库起一个更易于使用的小名

实例:
import turtle as t
t.setup(650,350)
t.penup()
t.fd(-250)
②画笔控制
  • turtle.penup() && turtle.pendown()
    up时海龟悬空,不产生笔迹,可以移动;down时的移动会产生笔迹

  • turtle.pensize(width) = turtle.width(width)

  • turtle.pencolor(color) color为颜色字符串或者RGB值

turtle.pencolor("purple") #注意要是字符串形式并且小写
turtle.pencolor(0.63, 0.13, 0.94)
turtle.pencolor((0.63, 0.13, 0.94))
#↑元主值形式,即再加一个括号形成一个元组
③运动控制
  • turtle.forward() = turtle.fd()
  • turtle.circle(r, angle) 圆心默认在圆心左侧r处,angle不给时画整个○,如果要圆心在右侧,则r用负数即如(-100,60)
④方向控制
  • turtle.seth(angle)
  • turtle.left(angle)
  • turtle.right(angle)
  • ##不前进的!!angle可正可负,看表
⑤循环语句与range()
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
格式:
for<变量> in range(<参数>)
	<被循环执行的语句>
变量表示循环的计数,从0~次数-1
for i in range(5):
	print(i)
#result:
0
1
2
3
4

#多种输出内容之间可以用逗号分隔,打印出来的结果会在逗号的位置加空格
for i in range(5)
	print(i)
#result:
Hello: 0
Hello: 1
...
Hello: 4

range()函数的几种用法:

  • range(N) 产生0~N-1的整数序列,共N个
  • range(M, N) 产生M~N-1
⑥结束处理
turtle.done()
#加上这句,程序运行结束后窗体需要手动退出
#不加的话,程序运行结束后窗体自动关闭

四、作业与测试补充

  • turtle.circle(r, angle)中的r和angle都可以取正负数,其中angle取负数表示沿后退方向画圆弧,但是海龟没有掉头
  • (单选)turtle坐标系的原点在屏幕正中央,窗体的原点在屏幕左上方
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值