学习课程:《Python 语言程序设计》
开设学校:北京理工大学
教学老师:嵩天、黄天羽、礼欣
学习者:广东海洋大学 计科1154 许佳耀
学习时间:
一、学习心得
第一次有幸能够在《学习与创业》课程老师 丁老师 的指导下选了这门编程语言课。在上网络课之前其实我的编程语言和其他方面的学习一直都是靠看各种电子书来进行的,虽然电子书很方便,但是唯一的缺点就是书是死的。在阅读过程中遇到的问题没有办法能够及时得到解决。好在有慕课可以弥补这个缺点,在跟随嵩老师学习Python语言的过程中遇到不懂的问题可以及时在论坛里询问,也可以自己当当老师给别人的问题予以解答。这样既能解决自身的问题,同时也是对自己所学知识的一种巩固和提升。
我觉得嵩老师的课条理和层次都很清晰,让我能够知道我应该需要注意哪些地方,并且在分析语言语法元素的过程中老师可以逐条分析语句,我觉得这样一方面能看得清楚整个语言的语法结构,另外一方面对语法中不明白的部分,通过讲解也可以得到较为全面的认识。我希望在接下来的一个星期里,我可以把这些语法规则都记住,然后去编写一个属于自己的一个python程序吧。
二、课堂笔记
第一周 基本程序设计
1. 1程序设计的基本方法 —— IPO(输入、输出、处理(算法))
(1)理解问题的计算部分:抽象问题 →使用IPO → 从多种方法中选择一种解决问题
(2)程序编写步骤:
①分析问题:分析问题的计算部分
②确定问题:将计算部分划分为IPO三部分
③设计算法 ④ 编写程序 ⑤ 调试测试 ⑥ 升级维护
例:温度转换问题
【问题描述】对于摄氏度和华氏度,存在以下转换:
|
气压 |
结冰点 |
沸点 |
摄氏度 |
1标准大气压 |
0度 |
100度 |
华氏度 |
1标准大气压 |
0度 |
212度 |
请利用python程序完成以上转换。
【解题步骤】
① 分析问题的计算部分 简化为三个步骤:
② 确定功能,利用IPO方法进一步分析: ①确定IPO
输入:华氏度(F)/摄氏度(C) ②编写程序
处理:温度转化公式 ③调试程序
输出:摄氏度(C)/华氏度(F)
③ 设计算法
④ 编写程序
⑤ 测试调试
⑥ 升级维护
1.2 python程序元素分析
程序1:
# TempConvert.py
val = input("请输入带温度表示符号的温度值(例如: 32C): ")
if val[-1] in ['C','c']: # in 判断左侧内容是否在右侧集合中
f = 1.8 *float(val[0:-1]) + 32 # float() 将括号中的字符串转换为浮点数
print("转换后的温度为: %.2fF"%f) # .2表示输出的浮点数f有两位小数
elif val[-1] in ['F', 'f']:
c =(float(val[0:-1]) - 32) / 1.8
print("转换后的温度为: %.2fC"%c)
else:
print("输入有误")
(1)缩进:标明代码层次关系、表明程序框架
(2)注释:辅助说明,不被执行也不受语法约束,可以写入任何内容,用以提高可读性
注释方法:
① 单行注释:# 开头;
② 多行注释:''' 开头和结尾;
(3)变量:能够表示值的一个名称,值可以变化
命名:给自定义元素关联名字的过程(唯一性)
命名规则:① 大小写字母、数字、下划线(大小写不统一)
②首字母只能是大小写字母或下划线,不能使用空格
③ 中文等非字母符号也可以作为名字
④不能与python定义的保留字相同
(4)表达式:产生/计算数据值的一行代码(通过保留字和操作符)
(5)空格的使用:① 表示每行缩进关系的空格不能改变
②空格不能分割命名
(6)input()函数:从控制台获得用户的输入。使用方法为:
<变量> = input(<提示性文字>)
获得的用户输入以字符串<””>的形式保存在<变量>中
如果val = “28C”,则val[-1] = “C”,val[0:2] = “28” 表示从区间[0,2)的一个子字符串
可以通过val[0:-1]来获取除了最后一个字符以外的字符串
(7)分支语句:根据判断条件,执行不同的路径。使用方法:
If <条件1成立>
<表达式组1>
elif <条件2成立>
<表达式组2>
…
elif <条件N-1成立>
<表达式组N-1>
else: <表达式组N>
(8)赋值:同步赋值:同时给多个变量赋值。使用方法:
<变量1>,…,<变量N> = <表达式1>,…,<表达式N>
例:若要使变量x和y的值实现交换,则只需一行代码:x, y= y, x
(9)print()函数:用来输出字符信息,或以字符的形式输出变量的值,通过%选择要输出的变量
(10)循环语句:控制程序循环运行的语句,根据判断/计数条件确定循环次数。
使用方法:
for I in range(<计数值>):
<表达式组>
函数编写模板
(1)input–print模板: (2)initial – print模板:
① 用户输入:input() ① 初始变量:运算需要的初始值
② 运算部分:算法实现 ② 运算部分:算法实现
③ 结果输出:print() ③ 结果输出:print()
1.3 python蟒蛇程序的实现分析:
程序2:
import turtle<span style="white-space:pre"></span># (乌龟)轨迹描绘函数库
def drawSnake(rad,angle,len,neckrad):<span style="white-space:pre"></span># 绘制蟒蛇函数
for i in range(len):
turtle.circle(rad,angle)<span style="white-space:pre"></span># 圆形轨迹函数,参数rad描述圆形半径的位置
turtle.circle(-rad,angle)<span style="white-space:pre"></span># rad为负值,半径在乌龟右侧
turtle.circle(rad,angle/2)<span style="white-space:pre"></span># 参数angle表示乌龟沿圆形爬行的弧度值
turtle.fd(rad)# 也称为turtle.forward()函数
<span style="white-space:pre"></span># 表示轨迹直线移动,参数表示移动距离
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300,800,0,0)# 启动图形窗口,参数分别为窗口的宽度、高度
<span style="white-space:pre"></span># 窗口左上角点的横、纵坐标位置
pythonsize = 30
turtle.pensize(pythonsize)# 轨迹的宽度,参数为像素大小,这里为30
turtle.pencolor("blue")# 轨迹颜色,参数为字符串(英文或16进制颜色代码)
turtle.seth(-40)# 轨迹运动方向,参数为角度(逆时针,以正东方向为0度)
drawSnake(40,80,5,pythonsize/2)# 绘制蟒蛇函数,用以绘制python蟒蛇
main()
def定义函数:① 函数是一组代码的集合,用以完成特定的功能,这组代码的名字就叫函数名
② def所定义的函数,必须要通过函数名对函数进行调用才能执行
函数库的引用:
方式一:import <库名> 如:import turtle
方式二:from <库名> import <函数名>
from <库名> import * ← 调用函数时不需要使用库名,直接使用
如:from turtle *
fd(100)
注意:方式一可调用不同库中的同名函数,方式二则不可