在Jupyter上学习python(U.2)

为mooc网站的北京理工大学的 嵩天 、黄天羽 、礼欣 三位老师的课程笔记。

  • 完成工作
  • 未完成

二、基本图形绘制

导学

上节课复习

TmpStr = input("请输入要转换的温度值:")
if TmpStr[-1] in ('F','f'):
    TmpStr = (eval(TmpStr[0:-1])-32)/1.8
    print("转换为:{:.2f}C".format(TmpStr))
elif TmpStr[-1] in ('C','c'):
    TmpStr = eval(TmpStr[0:-1])*1.8+32
    print("转换为:{:.2f}F".format(TmpStr))
else:
    print("输入错误!")
请输入要转换的温度值:3
输入错误!

在Jupyter上学习python(U.2)_第1张图片在Jupyter上学习python(U.2)_第2张图片

2.1 深入理解Python语言

方法论:海龟绘图体系

C语言

  • 学习内容:指针、内存、数据类型
  • 语言本质:理解计算机系统结构
  • 解决问题:性能
  • 适用对象:计算机类专业

JAVA语言

  • 1:对象、跨平台、运行时
  • 2:理解主客体关系
  • 3:跨平台
  • 4:软件类专业

C++语言

  • 1:对象、多态、继承
  • 2:理解主客体关系
  • 3:大规模程序
  • 4:计算机专业

VB语言

  • 1:对象、按钮、文本框
  • 2:理解交互逻辑
  • 3:桌面应用
  • 4:不确定

Python语言

  • 1:编程逻辑、第三方库
  • 2:理解问题求解
  • 3:各类问题
  • 4:所有专业

超级语言:粘性整合已有程序,具备庞大计算生态
高级语言:接近自然语言,编译器,与CPU型号无关
汇编语言:有助记符,汇编器,与CPU型号有关
机器语言:代码直接执行,与CPU型号有关

2.2 实例 Python蟒蛇

1:计算机绘图原理是什么?

一段程序为何能够产生窗体?为何能在窗体上绘制图形?

2:Python蟒蛇绘制从哪开始?

如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?

#PythonDraw.py
import turtle     #程序关键,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, 180)
turtle.fd(40 * 2/3)
turtle.done()

2.3 模块1:turtle库的使用

  • 1、turtle库基本介绍
  • 2、turtle绘图窗口布局
  • 3、turtle空间坐标体系
  • 4、turtle角度坐标体系
  • 5、RGB色彩体系

turtle库是turtle绘图体系的Python实现
Python计算生态 = 标准库 + 第三方库

  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要经过安装才能使用的功能模块
  • 库Library、包Package、模块Module,统称模块

1、turtle原理

有turtle在里面游走

2、turtle绘图窗口

turtle的画布空间:最小的单位是像素
turtle.setup(width, height, startx, starty):setup()不是必须的:如果没有设置startx和starty的值则默认为屏幕正中心
![6GW3Y%25_ V 8 J V8J%7B55N2J5DEE2S.png](attachment:6GW3Y%25_ V8JV8J%7B55N2J5DEE2S.png)

3、turtle库的使用

绝对坐标和海龟坐标

窗口的中心为(0, 0)
turtle.goto(x, y) #让任何位置的海龟去到达x,y的位置
![R8 %28(C %7DVRWI5%25MU%[email protected]](attachment:R8 %28(C %7DVRWI5%25MU%[email protected])

海龟坐标

在Jupyter上学习python(U.2)_第3张图片

4、turtle角度坐标体系

turtle.seth(angle) #改变海龟的行进方向
在Jupyter上学习python(U.2)_第4张图片
turtle.left(angle) #向左
turtle.right(angle) #向右
在Jupyter上学习python(U.2)_第5张图片

#实例
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

5、RGB色彩模式

由三种颜色构成的万物色

在Jupyter上学习python(U.2)_第6张图片

常用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 黑色

在Jupyter上学习python(U.2)_第7张图片

默认采用小数值,可切换为整数值
在Jupyter上学习python(U.2)_第8张图片

2.4 turtle程序语法元素

  • 库引用与import
  • turtle画笔控制函数
  • turtle运动控制函数
  • turtle方向控制函数
  • 基本循环语句
  • Python蟒蛇绘制代码分析

1、库引用

扩充Python程序功能的方式

使用import保留字完成,采用 < a >.< b >()编码风格
    import<库名>  
    <库名>.<函数名>(<函数参数>)   

为了简化代码,使用from和import保留字共同完成

    from<库名>import<函数名>  
    from<库名>import*  
    <函数名>(<函数参数>)  

两种库引用方法比较:
在Jupyter上学习python(U.2)_第9张图片

import更多的用法

使用import和as保留字共同完成

    import<库名>as<库别名>  
    <库别名>.<函数名>(<函数参数>)  

2、turtle画笔控制函数

画笔操作后一直有效,一般成对出现

1抬起画笔,海龟在飞行(不形成绘图)
turtle.penup()---别名:turtle.pu()
2落下画笔,海龟在爬行(形成绘图)
turtle.pendown()---别名:turtle.pd()

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

1画笔宽度,海龟的腰围
turtle.pensize(width)---别名:turtle.width(width)

2画笔颜色,海龟在涂装
turtle.pencolor(color)---color为颜色字符串或r,g,b值

pencolor(color)的color参数可以有三种形式

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

3、运动控制函数

控制海龟行进:走直线&走曲线

1向前走,海龟走直线

turtle.forward(d)---别名:turtle.fd(d)
d:行进距离,可以为负数,行进距离单位是像素

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

在Jupyter上学习python(U.2)_第10张图片

4、方向控制函数

控制海龟面对方向:绝对角度&海龟角度

改变行进方向,海龟走角度
turtle.setheading(angle)---别名:turtle.seth(angle)
angle:改变行进方向,海龟走角度

turtle.left(angle):海龟向左转
turtle.right(angle):海龟向右转

5、循环语句

按照一定次数循环执行一组语句

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

<变量>:表示每次循环的计数,0到<次数>-1
在Jupyter上学习python(U.2)_第11张图片

range()函数

range(N)
产生0到N-1的整数序列,共N个
range(M,N)
产生M到N-1的整数序列,共N-M个


你可能感兴趣的:(Python)