Python温度转换实例代码详解与剖析
本文将对温度代码深度刨析,用通俗易懂的语言进行讲解,废话不多说,开始。
摄氏度与华氏度的定义
摄氏度:以1为标准大气压下水的结冰点为0℃,沸点为100℃
华氏度:以1为标准大气压下水的结冰点为32℉,沸点为212℉
计算公式(C表示摄氏度,F表示华氏度)
C =(F – 32)/ 1.8
F = C * 1.8 + 32
以python为基础,用IPO(input(输入),process(加工),output(输出))来进行程序分解
输入:带华氏或摄氏标识的温度值
处理:根据温度标识选择相应的温度转换算法,提示可能出现的错误
输出:带摄氏或华氏标识的温度值
代码刨析前知识的引入
eval()函数
eval()函数可以将字符串作为python表达式求值,将字符串转换为数据类型
例如:int类型,float类型
补充(实现数据类型的转换)
eval()函数可以实现string到tuple,list ,int,float,dict类型之间的转换
剩下到代码讲解
代码实操👇
# 温度的转换问题👇
TempStr = input("请输入带有符号的温度值")
# 第一个if是检验TempStr最后一个字符是否为F或f
# 然后使用eval()函数将剩余的变量转换为数字
if TempStr[-1] in ["F","f"]:
# TempStr[-1]等价于TempStr[len[#]-1],
C = (eval(TempStr[0:-1])-32)/1.8
# TempStr[0:-1]是表示你输入的不包含最后一个字符,因为这个区间是左闭右开👆
print("转换后的温度值{:.2f}C".format(C))
elif TempStr[-1] in ["C","c"]:
# elif是检验TempStr最后一个字符是否为C或c
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度{:.2f}F".format(F))
else:
print("输入格式错误")
代码案例
82℉👉27.78℃
-30℃👉-22.00℉
程序实操👇
代码刨析👇
TempStr = input("请输入带有符号的温度值")
此时TempStr为string(字符串)类型,因为input函数返回值为string类型
if TempStr[-1] in ["F","f"]:
这段代码是在判断TempStr最后一个字符是F或者f,比如说你输入一个字符串"70F",这就是判断你输入最后一个的字符F
另外,这段代码算列表类型→["F", "f" ]
TempStr[-1]进行解释
[-1]可以类似于len[a(变量名)-1],其中len函数就是求长度的东西,那么TempStr[-1]就是你输入的最后一个字符,例如:你输入70F,那么TempStr[-1]就表示为F
下面的代码是我用列表进行引申
C = (eval(TempStr[0:-1])-32)/1.8
这个就是摄氏度的计算公式了👆
其中
TempStr[0:-1]是你输入的华氏度不包含F,因为[0:-1]的区间是左闭右开,例如你输入的70F,那么这个TempStr[0:-1]就表示为70,
eval( )就是把字符串类型转换为数据类型,然后进行计算
注意:在python中是从0开始计数的
print("转换后的温度值{:.2f}C".format(C))
这个应用了格式化字符串(我的python基础(前)有描述,可以去看),和保留了俩位小数
.2f表示算出来的数保留俩位小数。
剩下的代码思路跟我上述讲的一样,那么就不讲了🤭,
结语:
限于水平,本篇文章不足之处在所难免,希望指正,谢谢大家。希望大家能有收获,有收获,我就非常开心,🤭。
求点赞,求关注,互三
作者:爱编程— 的小李