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"]:
# 第二个if是检验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

TempStr[-1]进行解释

[-1]可以类似于len[a(变量名)-1],其中len函数就是求长度的东西,那么TempStr[-1]就是你输入的最后一个字符,例如:你输入70F,那么TempStr[-1]就表示为F

下面的代码是我用列表进行引申

C = (eval(TempStr[0:-1])-32)/1.8

这个就是摄氏度的计算公式了👆

其中

TempStr[0:-1]是你输入的华氏度,例如你输入的70℉,那么这个TempStr[0:-1]就表示为70℉,

eval(       )就是把字符串类型转换为数据类型,然后进行计算

注意:在python中是从0开始计数的

print("转换后的温度值{:.2f}C".format(C))

这个应用了格式化字符串(我的python基础(前)有描述,可以去看),和保留了俩位小数

.2f表示算出来的数保留俩位小数。

剩下的代码思路跟我上述讲的一样,那么就不讲了🤭,


结语:
限于水平有限,本篇文章不足之处在所难免,希望指正,谢谢大家。希望大家能有收获,有收获,我就非常开心,🤭。

求点赞,求关注,互三

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值