Python学习-第二遍
基本程序设计方法
如何学习课程
- 跟上进度:跟随课程进度,完成课程要求的学习内容
- 重视练习:课后进行额外程序设计练习
计算机概念
Computer原指专门负责计算的人,后来演变成特指计算编译,译为计算机
理解计算机
计算机是能根据一组指令操作数据的机器。
- 功能性:可以进行数据计算
- 可编程性:根据一系列指令来执行
计算机的组成
-
存储程序概念
-
存储结构的基本含义
- 计算机(指硬件)由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成
- 计算机内部采用二进制来表示指令和数据
- 将编号的程序和原始数据事先存入存储器中,然后再启动计算机工作
-
五大部件对应硬件
- 外部设备(输入输出设备)
- 中央处理器CPU——控制器和运算器
- 存储器(内存,硬盘)
-
扩展:计算机的工作原理a+b
计算机类型
- 微型计算机
- 嵌入式计算机
- 超级计算机——Top500
- 服务器级计算机
- 网络专用计算机
- 工业控制计算机
- 传感器结点计算机
程序设计语言
-
程序设计语言,也叫编程语言,是计算机能够理解和识别操作的一种交互体系
-
最好的程序设计语言是人类的自然语言
自然语言存在的问题
- 存在表示歧义
- 文学色彩浓厚
-
程序设计语言的种类
- 机器语言:01代码,CPU认识的语言
例如:2+3的运算 1101001000111011 - 汇编语言:在机器语言上增加了人类可读的助记符
例如:2+3的运算 add 2,3,result - 高级语言:向自然语言靠近的语言
例如:2+3的运算 result=2+3
- 机器语言:01代码,CPU认识的语言
-
常用的程序设计语言
- 程序编程语言:
C/C++/C#/VB/Java/JavaScript/Ruby/Swift/python - 硬件编程语言:
Verilog/VHDL - 网络编程语言:
PHP/HTML...
- 程序编程语言:
Python语言语法
工具的使用
Anaconda工具的使用
- 运行
- python 环境3.x
- idle 运行
ipo模式
- I:Input 输入,程序的输入——程序的开始
- P:Process 处理,程序的主要逻辑——也叫算法,程序的灵魂
- O:Out 输出,程序的输出——程序展示运算成果的方式
问题的计算特性
- 问题的计算部分指一个待解决问题中,可以用程序辅助完成的部分
通过计算技术解决温度转换
问题:如何利用Python程序进行摄氏度和华氏度的转换
步骤一:分析问题的计算部分
步骤二:确定功能,使用IPO方法进一步分析
- 输入:华氏或者摄氏温度值、温度标识
- 处理:温度转化算法
- 输出:摄氏或者华氏温度值、温度标识
- 注:
- F表示华氏度 82F表示华氏度82度
- C表示摄氏度 28C表示28摄氏度
步骤三:设计算法
根据华氏和摄氏温度定义,单位刻度对应温度关系的转换公式:
C = ( F - 32 ) / 1.8
F = C*1.8 + 32
步骤四:编写程序
val = input("请输入带温度表示符号的温度值(例如:32C):")
if val[-1] in ['C', 'c']:
f = 1.8 * float(val[0:-1]) + 32
print("转换后的温度为:%.2fF" % f)
elif val[-1] in ['F', 'f']:
c = (float(val[0:-1]) - 32)/1.8
print("转换后的温度为:%.2fC" % c)
else:
print("输入有误")
步骤五:调试、运行程序
步骤六:升级维护
编写程序至少需要3个步骤:
步骤一:确定IPO
步骤二:编写程序
步骤三:调试程序
程序编写的步骤
- 分析问题:分析问题的计算部分
- 确定问题:将计算部分划分为确定的IPO
- 设计算法:完成计算部分的核心处理方法
- 编写程序:实现整个程序
- 调试测试:使程序再各种情况下都能够正确运行
- 升级维护:使程序长期确定运行,适应需求的微小变化
Python语法元素
注释 输入 缩进 输出
变量 分支 常量 循环
表达式
缩进
1个缩进 = 4个空格
- 缩进是用以Python中标明代码之间的层次关系
- 缩进是Python语言中表明程序框架的唯一手段
注释
- 注释是程序员再代码中加入的辅助说明信息,它不能被计算机执行,也不受语法约束,可以再里面写入任何内容。
- 一般来说,注释用来帮助程序员记录程序设计方法,辅助程序阅读。
- 注释的两种方法
- 单行注释以#开头
- 多行注释以'''开头和结尾
变量
- 变量是程序中最常使用,能够表示值的一个名称。
- 变量表示的值可以变化。
命名
-
命名指给程序中自定义元素关联名字的过程,命名需要保证在程序中,名字具有唯一性
-
命名需要符合如下规则
-
命名规则使用大小写字母、数字和下划线的组成,但首字母只能是大小写字母或下划线,不能使用空格。
-
中文等非字母符合也可以作为名字。
-
合法命名的标识符
python_is_good python_is_not_good _is_it_a_question python语言
-
表达式
-
表达式指程序中产生或计算新数值的一行代码。
-
Python语言的33个保留字或者操作符可以产生符合语法的表达式
>>>x=25
表示数字25赋值给变量x
空格的使用
- 表示缩进关系的空格不能改变。
- 空格不能将一个命名分割。
- 除上述两条外,程序中可以任意使用空格增加程序可读性。
输入函数
- Input()函数从控制台获得用户输入。
使用方法如下:
<变量>=input(<提示性文字>) - 获得的用户输入以字符串形式保存在<变量>中。
表达式
- 如果val=“28C”
- 则var[-1]是最后一个字符“C”
- 前两个字符组成的子串可以用val[0:2]表示,它表示一个从[0,2)的区间。
- 由于约定用户输入的最后一个字符是C或者F,之前是数字,所以通过val[0:-1]来获取除最后一个字符外的字符串。
分支语句
赋值语句
-
同步赋值语句
t=x x=y y=t x,y=y,x
输出函数
循环语句
for i in range(3):
val = input("请输入带温度表示符号的温度值(例如:32C):")
if val[-1] in ['C', 'c']:
f = 1.8 * float(val[0:-1]) + 32
print("转换后的温度为:%.2fF" % f)
elif val[-1] in ['F', 'f']:
c = (float(val[0:-1]) - 32)/1.8
print("转换后的温度为:%.2fC" % c)
else:
print("输入有误")
程序编写模板
-
IPO模板
-
inital-print模板
turtle库与蟒蛇绘制程序
import turtle # 引入turtle外部库,绘制图像
def drawSnake(rad, angle, len, neckrad): # def定义函数
for i in range(len):
turtle.circle(rad, angle)
turtle.circle(-rad, angle)
turtle.circle(rad, angle/2)
turtle.fd(rad)
turtle.circle(neckrad+1, 180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300, 800, 0, 0) # 窗口宽高及左上角的坐标位置
pythonsize = 30 # 宽度
turtle.pensize(pythonsize) # 调用函数
turtle.pencolor("blue") # 颜色 也可以使用RGB
turtle.seth(-40)
drawSnake(40, 80, 5, pythonsize/2)
turtle.pencolor("#3B9909") # 颜色 也可以使用RGB
turtle.seth(180)
drawSnake(40, 80, 5, pythonsize/2)
main()
def定义函数
函数库的引用
Python对库函数引用的方式
类型的概念
- 类型是编程语言对数据的一种划分。
- Python语言的类型
数字类型、字符串类型、元组类型、列表类型、文件类型、字典类型
数字类型
pow(x,y)#计算x的y次方
pow(2,10) = 1024 ,pow(2,15)=32768
pow(2,1000)
pow(2,pow(2,15))
整数类型
1010,99,-217
0x9a,-0x89 #0x,0X开头表示16进制数字
0b010,-0B101 #0b,0B开头表示2进制数字
0o123,0O456 #0o,0O开头表示8进制数字
浮点数类型
0.0,-77.,-2.17
96e4,4.3e-3,9.6E5#科学计数法
''' 科学技术法使用“e”或者“E”作为幂的符号,以10为基数。
科学计数法含义如:<a>e<b> = a * 10x10x...(b)
'''科学计数法使用字母“e”
- 复数类型
- 数字类型的关系
- 数字类型的判断
字符串类型
- 字符串数据类型
- 字符串的操作
元组类型
- 元组的概念
列表类型及其操作
- 列表的概念
- 列表的操作
math库与random库
数学库及其使用
随机数库及其使用
问题:
math库和random库的常用使用
π的计算