Python语言程序设计基础
第二章 Python程序示例解析
部分截图来自 北京理工大学 嵩天 的python基础设计课程的ppt,仅做个人笔记使用,特此声明。
目录
编程解决问题的步骤
- 分析问题:分析问题的计算部分,想清楚
- 划分边界:划分问题的功能边界,规划IPO
- 设计算法:设计问题的求解算法,关注算法
- 编写程序:编写问题的计算程序,编程序
- 调试测试:调试程序使正确运行,运行调试
- 升级维护:适应问题的升级维护,更新完善
代码示例1——温度转换
温度转换
需求
两种温度体系的转换
摄氏度转为华氏度
华氏度转为摄氏度
问题分析
划分边界
- 输入:带华氏或摄氏标志的温度值
- 输出:根据温度标志选择适当的温度转换算法
输入输出格式设置
标识放在温度后面,F标识华氏度,C表示摄氏度
设计算法
\(C=(F-32)/1.8\)
\(F=C*1.8+32\)
代码
#实例代码1.1 温度转换 TempStr = input("请输入带有符号的温度值") if TempStr[-1] in [\'F\',\'f\']: C=(eval(TempStr[0:-1])-32)/1.8 print("转换后的温度是{:.2f}C".format(C)) elif TempStr[-1] in [\'C\',\'c\']: F = 1.8*eval(TempStr[0:-1])+32 print("转换后的温度是{:.2f}F".format(F))举一反三
温度数值与温度标识之间关系的设计可以改变
标识放在温度数值之前
TempStr = input("请输入带有符号的温度值") if TempStr[0] in [\'F\',\'f\']: C=(eval(TempStr[1:])-32)/1.8 print("转换后的温度是{:.2f}C".format(C)) elif TempStr[0] in [\'C\',\'c\']: F = 1.8*eval(TempStr[1:])+32 print("转换后的温度是{:.2f}F".format(F))货币转换、长度转换、重量转换、面积转换......
强缩进
python 与C++,java在代码块的划分是不一样的,C++,java使用{}来区分代码块。而python使用缩进来区分代码块,增强了代码的可读性
注释
- 单行注释:单行注释以#开头
- 多行注释:多行注释以‘’’(3个单引号)开头和结尾
命名与保留字
变量命名:
- python语言允许采用大写字母,小写字母、数字、下划线_ 和汉字等字符及其组合对变量进行命名。
- 但名字的首字母不能是数字,中间不能出现空格。
- 标识符对大小写敏感
- 变量名不能与python的保留字相同
保留字
| def | import | from | as |
|---|---|---|---|
| False | True | None | |
| if | elif | else | async |
| for | while | break | continue |
| try | except | finally | return |
| and | not | or | is |
| assert | with | raise | in |
| del | global | nonlocal | yiled |
| pass | class | lambda | await |
字符串
-
创建,python中使用引号‘’创建字符串,不支持单字符类型,单字符在python中也是作为一个字符串来使用
-
访问字符,python使用方括号[]来访问字符串
- 正向递增序号,最左侧字符为0,向右递增,最右侧字符序号为L-1
- 反向递减序号,最右侧字符序号为-1,想做依次递减,最左侧字符序号为-L
-
区间访问(切片),采用[N:M]格式,表示字符串从N到M(不包含M)的子字符串,其中,N和M为字符串的索引序号,可以混合使用正序和逆序序号
-
字符串连接 +
-
判断字符串是否包含给定字符 in not in
-
格式化输出 类似于C语言中的sprintf函数 %f 格式化浮点数字,可指定小数后的精度
列表 [ ]
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
分支
- 使用保留字 if elif else
- 每个保留字所在行最后存在一个冒号(