python实现 温度转换(嵩天老师)
示例1(温度转换):1.知识铺垫-摄氏度 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画-华氏度 以1标准大气压下水结冰点为32度,沸点为212度,将温度进行等分刻画2.问题中计算部分的理解和确定-1 直接将温度值进行转换-2 通过程序处理带有温度信息的声音或图形,并进行理解和转换-3 监控温度信息发布渠道,实时获取并转换温度值3.划分边界-输入 带华氏或摄氏标志的温度值-处
示例1(温度转换):
1.知识铺垫
-摄氏度 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
-华氏度 以1标准大气压下水结冰点为32度,沸点为212度,将温度进行等分刻画
2.问题中计算部分的理解和确定
-1 直接将温度值进行转换
-2 通过程序处理带有温度信息的声音或图形,并进行理解和转换
-3 监控温度信息发布渠道,实时获取并转换温度值
3.划分边界
-输入 带华氏或摄氏标志的温度值
-处理 根据温度标志选择适当的温度转换算法
-输出 带摄氏或华氏标志的温度值
4.输入输出格式设计
标识放在温度最后,F表示华氏度,C表示摄氏度
5.算法设计
C=(F-32)/1.8
F=C*1.8+32
C表示摄氏温度,F表示华氏温度
6.代码
#TempConvert.py
TempStr=input("请输入带有符号的温度值:")
if TempStr[-1] in ['f','F']:
c=(eval(TempStr[0:-1])-32)/1.8
print("转换后的温度是{:.2f}F".format(c))
elif TempStr[-1] in ['C','c']:
F=1.8*eval(TempStr[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
7.举一反三
-温度数值与温度标识之间关系可以改变
-标识改变放在温度数值之前:C82,F28
-标识字符改变为多个字符:82Ce,28F
-类似问题有货币转换、长度转换、重量转换、面积转换......问题不同,但程序代码相似
8.逐行分析
假设用户输入为82F
#TempConvert.py(注释)
TempStr=input("请输入带有符号的温度值:")(input,从控制台获取用户输入的信息,且input函数中的字符串是提示用户的信息,即input函数从控制台获取的用户输入保存为字符串类型)
if TempsSr[-1] in ['f','F']:(if条件判断,判断前者是否与列表中某个元素相同,如果在就返回一个True,执行:(冒号)之后的语句,不存在就返回False。注:冒号是语法的一部分不可省略)
C=(eval(TempStr[0:-1])-32)/1.8 (右侧运算结果赋值给变量C,TempStr[0:-1]会去掉F得到字符串"82",evla会去掉",得到数字82)
print("转换后的温度是{:.2f}C".format(c))(向控制台打印输出,此处输出:转换后的温度是(一个数字)C)
elif TempStr[-1] in ['C','c']:(判断前者是否与列表中某个元素相同,如果在就返回一个True,执行:(冒号)之后的语句,不在就返回False)
F=1.8*eval(TempStr[0:-1])+32(右侧运算结果赋值给变量F,右侧数据类型也赋给变量)
print("转换后的温度是{:.2f}F".format(F))(向控制台打印输出,此处输出:转换后的温度是(一个数字)F)
else:(if、elif、else条件判断语句一部分,表示:若上述两种情况都不成立,就执行else之后的语句)
print("输入格式错误")(向控制台打印输出,此处输出:输入格式错误)
9.知识补充
(1)注释
-注释 用于提高代码可读性的辅助性文字,不被执行
-单行注释 以#开头,其后内容为注释
-多行注释 以'''开头和结尾,'''中间为注释内容
注意:实际上在python语言中没有提供的多行注释的表示方法,(''')表示一个字符串,但若字符串没有定义到一个变量中,它在程序中不执行,就可以当作注释使用
(2)变量
-变量 程序中用于保存和表示数据的占位符号
-变量采用标识符(名字)来表示,关联标识符的过程叫命名
-可以使用=向变量赋值或修改值,=被称为赋值符号
-变量命名规则 大小写字母、数字、下划线和汉字等字符及组合
如:TempStr,Python_Great,这是门Python好课
-注意事项 大小写敏感、首字符不能是数字、不与保留字相同
(3)保留字
-保留字 python中一共有33个保留字
(4)数据
-数据类型 字符串、整数、浮点数、列表
-数字类型 10011101(整数类型,包括正数和负数)、1.8(浮点数类型,数学中的实数,带有小数部分的数字,也包含正数和负数)
-字符串类型 "10,011,101"(由一个或多个字符组成,由一对单或双引号表示)
-列表类型 [10,011,101](由0个或多个数据组成的有序序列) -列表使用[ ]表示,采用逗号(,)分隔元素
(5)切片索引
-两种索引体系 正向递增体系 和 反向递增体系
使用[ ]获取字符串中一个或多个字符
-索引 返回字符串中单个字符 <字符串>[M]
-切片 返回字符串中一段字符子串 <字符串>[M:N]
TempStr[0:-1]表示从零开始,但不到字符串的最后一个字符的字符字串
相当于把字符串的最后一个字符去掉
-使用保留字in判断一个元素是否在列表中
(6)eval函数
-eval 去掉最外侧引号并执行余下语句的函数
例1:eval('print("Hello")')
evla去掉',剩下执行print语句,最后输出Hello
例2:eval(TempStr[0:-1])
如果TempStr[0:-1]值是"12.3",输出是12.3,因为eval将12.3外的"去掉
更多推荐
所有评论(0)