【Python基础学习笔记】week02

【Python基础学习笔记】week02

Python基本图形绘制
2.1深入理解Python语言

1946年第一台计算机诞生
1946-1981:计算机系统结构时代 计算能力
1981-2008:pc->移动 网络和视窗时代 交互问题
2008-2016:计算机打败围棋高手 复杂信息系统时代 数据问题
期间:新计算时代
2016-:人工智能时代 人类的问题

Python语言:通用语言

Python特点和优势:

  • 强制可读性
  • 较少的底层语法元素
  • 多种编程方式
  • 支持中文字符
  • C代码量的10% 语法简洁
  • 13w第三方库
  • 快速增长的计算生态 生态高产

机器语言:二进制语言,代码直接执行,与具体的CPU型号有关
汇编语言:二进制代码->助记符,与具体的CPU型号有关 eg add2,3 result
高级语言:更接近自然语言,高级语言代码与具体的CPU型号无关
超级语言:粘性整合已有程序,庞大计算生态

2.2 "Python蟒蛇绘制"问题分析

蟒蛇图示
在这里插入图片描述
蟒蛇代码

import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 100)
turtle.fd(40*2/3)
turtle.done()
2.3 turtle库的使用

turtle(海龟)库 入门级图形绘制 标准库
库 包 模块
turtle原理:海龟走过的线

  • turtle的绘图窗体
turtle.setup(width, height, startx, starty) 
#参数分别为 宽度 高度 起始点位置

4个参数的后两个可选
setup()设置窗体大小及位置
setup()函数不是必须的

【eg1】 turtle.setup(800, 400, 0, 0)
从窗口的左上角开始绘制图形

【eg2】 turtle.setup(800, 400)
从窗口的中心位置开始绘制图形

  • turtle空间坐标体系
    绝对坐标 & 海龟坐标

绝对坐标 画面的中间为坐标原点,十字交叉,水平x轴,垂直y轴

turtle.goto(x, y)
– 使用实例

import turtle
turtle.goto(100, 100)
turtle.goto(100, -100)
turtle.goto(-100, -100)
turtle.goto(-100, 100)
turtle.goto(0, 0)
turtle.done()

在这里插入图片描述

海龟坐标 向前的方向为前进方向,反方向为后退方向
海龟运行的左侧为左侧方向,右侧为右侧方向

turtle.fd(d)  #海龟向海龟的正前方向前进
turtle.bk(d)  #向海龟的反方向运行
turtle.circle(r, range)  #以左侧的某一点为圆心进行曲线运动
  • turtle角度坐标体系
    • 绝对角度:x轴 0 or 360 度;y轴 90 or 270 度
turtle.seth(angle) 
#改变海龟的行进方向,该函数只改变方向但不行进,angle为绝对度数

turtle.seth(45)
- 海龟角度

turtle.left(angle) & turtle.right(angle) 
#分别让当前的海龟向左或向右去改变运行方向
  • RGB色彩体系
    红绿蓝 取值 0-255整数或0-1小数
    白色 (255, 255, 255) - (1, 1, 1)
    黑色 (0, 0, 0)
    turtle默认使用小数值,可以切换为整数
turtle.colormode(mode) 
#改变颜色模式
#mode值 : 1.0:小数; 255:整数
2.4 turtle程序语法元素分析

库引用与import

<a>.<b>() 编码风格	
import <库名>
<库名>.<函数名>(<函数参数>)
#不会出现函数重名的问题

使用from与import保留字共同完成

from <库名> import <函数名>
from <库名> import *
使用方法:<函数名>(<函数参数>)
可能会出现函数名冲突
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)

turtle画笔控制函数
海龟为画笔,画笔操作后一直有效,一般成对出现

                     #别名
turtle.penup() ->  turtle.pu() 
#抬起画笔,海龟在飞行
turtle.pendown() -> turtle.pd() 
#落下画笔,海龟在爬行

画笔设置后一直有效,直至下次重新设置

                           #别名
turtle.pensize(width) -> turtle.width(width) 
#画笔宽度,海龟的腰围
turtle.pencolor(color) 
#color为颜色字符串或r,g,b值 画笔颜色,海龟在涂装
eg. 

【eg】 紫色

 #颜色字符串:
 turtle.pencolor("purple")
 #RGB的小数值:
 turtle.pencolor(0.63, 0.13, 0.94)
 #RGB的元组值:
 turtle.pencolor((0.63, 0.13, 0.94))

turtle运动控制函数
fd() circle()函数

turtle.forword(d) -> turtle.fd(d) 
#向前行进,海龟走直线;d行进距离,可以为负值

turtle.circle(r, extent=None) 
#根据半径r绘制extent角度的弧形
#r半径,extent绘制的弧度 默认圆心的距离海龟左侧r距离的位置上

#[eg]
turtle.circle(100) 
#在海龟的左侧,以100为半径,绘制一个圆形;没有第二个参数,默认绘制圆形
turtle.circle(-100, 90)  
#海龟向他的右侧,半径为r的方位进行曲线运动,绘制弧度为90度,形成1/4圆弧

turtle方向控制函数

turtle.setheading(angle) -> turtle.seth(angle) 
#改变海龟行进方向,海龟走角度
#angle,将海龟当前的方向改变为绝对的角度
#参考系为绝对坐标
turtle.left(angle)
turtle.right(angle)
#angle海龟左转或右转的角度

循环语句与range()函数

for <变量> in range(<参数>)
	<被循环执行的语句>

range(5) 0 1 2 3 4
print(‘hello’,1)中间有空格
range(n) 产生0到n-1的整数序列,共n个
range(m, n) 产生从m到n-1的整数序列,共n-m个

代码分析

import turtle
#引入海龟绘图体现
turtle.setup(650, 350, 200, 200)
#使用setup设置窗体
turtle.penup()
#画笔抬起
turtle.fd(-250)
#倒退250像素
turtle.pendown()
#海龟落下
#改变原点
turtle.pensize(25)
#画笔宽度
turtle.pencolor("purple")
turtle.seth(-40)
#改变海龟方向为-40度
for i in range(4):
    turtle.circle(40, 80)
	#以左边40像素为圆心,绘制80度的圆弧
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
#脖子
turtle.circle(16, 100)
turtle.fd(40*2/3)
#头部
turtle.done()
#程序不会退出,需要手工退出
2.5函数整理

turtle模块中的函数小结

#先引入模块
import turtle
函数名作用
turtle.goto(x, y)从海龟当前位置到(x, y)的路线
turtle.penup() 别名:turtle.pu()抬起画笔
turtle.pendown() 别名: turtle.pd()落下画笔
turtle.pensize(width) 别名: turtle.width(width)画笔宽度
turtle.pencolor()画笔颜色
turtle.forword(d) 别名:turtle.fd(d)向前行进
turtle.circle(r, extent=None)绘制圆弧
turtle.setheading(angle) 别名:turtle.seth(angle)设置海龟角度
turtle.left(angle)海龟左转
turtle.right(angle)海龟右转
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值