文章目录
课程简介
计算机是运算工具,更是创新平台,高效有趣地利用计算机需要更简洁实用的编程语言。Python简洁却强大、简单却专业,它是当今世界最受欢迎的编程语言,学好它终身受用。请跟随我们,学习并掌握Python语言,一起动起来,站在风口、享受创新!
—— 课程团队
MOOC课程:
Python语言程序设计(嵩天 、黄天羽 、礼欣)
北京理工大学
课程视频地址:
授课目标:
本课程适合如下教学目标:
- 程序设计入门课:面向各层次各专业大学在校生、部分优秀高中生,作为程序设计入门课程
- 体系化编程基础:面向拟构建坚实编程能力的自学者,作为不断奋斗的参考在线课程
- Python科目备考:面向全国计算机等级考试二级Python科目的备考考生,作为在线备考资源
- 再试一次的尝试:面向拟放弃计算机或编程学习的学习者,作为再试一次的课程资源,学不会这门课学再放弃不迟…
第一章 Python基本语法
1.3 实例1:温度转换
问题分析
两种温度体系
-
摄氏度 ( ℃ ℃ ℃)
以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。
中国等大多数国家使用。 -
华氏度 ( ℉ ℉ ℉)
以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。
美国、英国等大多数国家使用。
需求分析
问题的需求分析:
-
两种温度体系之间相互转换。
-
摄氏度转换为华氏度,华氏度转换为摄氏度。
确定问题的计算部分
- 理解1:直接将温度值进行转换。
- 理解2:将温度信息发布的声音或图像形式进行理解和转换。
- 理解3:监控温度信息发布渠道,实时获取并转换温度值。
→ 采用理解1:直接将温度值进行转换。
- 温度数值需要标明温度体系,即摄氏度或华氏度。
- 转换后也需要给出温度体系。
划分问题的边界
输入:带华氏或摄氏标志的温度值。
处理:根据温度标志选择适当的温度转换算法。
输出:带氏或华氏标志的温度值。
→ 输入、输出格式设计
标识放在温度最后,F表示华氏度,C表示摄氏度。即:82F
表示华氏82度,28C
表示摄氏28度。
→ 算法设计
根据华氏和摄氏温度定义,利用转换公式如下:
C
=
(
F
−
32
)
÷
1.8
C=(F-32)÷1.8
C=(F−32)÷1.8
F
=
C
×
1.8
+
32
F=C×1.8+32
F=C×1.8+32
这里的
C
C
C 表示摄氏温度,
F
F
F 表示华氏温度。
实例编写
实例1:
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
题目来源:python123要求:
- ① 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:
12.34C
指摄氏度12.34度;- ② 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:
87.65F
指华氏度87.65度;- ③ 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
代码:
#TempConvert v1.py
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))
else:
print("输入格式错误")
举一反三
Python语法元素理解
温度转换程序共10行代码,但包含很多语法元素。通过参考实例代码的框架结构,逐行分析、逐词理解,初步感受Python语法。
改变输入、输出
- 改变温度数值与温度标识之间的关系设计。
- 标识改变放在温度数值之前:
C82
,F28
- 标识字符改变为多个字符:
82Ce
、28Fa
例:
温度转换2(相同的问题背景,要求不同)题目来源:python123
要求:
- ① 输入、输出的摄氏度采用大写字母"C"开头,温度可以是整数或小数,如:
C12.34
指摄氏度12.34度;- ② 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:
F87.65
指华氏度87.65度;- ③ 不考虑异常输入的问题,输出保留小数点后两位;
代码:
#TempConvert v2.py
TempStr = input()
if TempStr[0] in ['F']:
C = (eval(TempStr[1:]) - 32)/1.8
print("C{:.2f}".format(C))
elif TempStr[0] in ['C']:
F = 1.8 * eval(TempStr[1:]) + 32
print("F{:.2f}".format(F))
else:
print()
扩展计算问题
温度转换是各类转换问题的代表性问题,如:货币转换、长度转换、重量转换、面积转换等。
问题不同,但程序代码相似。
补充
其它温度体系计算公式:
不同温度尺度参考示例图: