摄氏度转换为华氏度,华氏度转换为摄氏度。

首先进行流程分析:

1.首先输入一个带华氏度或者摄氏度符号(不区分大小写)的温度值

2.根据符号选择不同的温度转换方法

3.输出带有摄氏度或者华氏度的温度值,保留小数点后两位。

演示:

Temperature=input("请输入一个带有符号的温度值:")
if Temperature[-1] in ['F','f']:
    C=(eval(Temperature[0:-1])-32)/1.8
    print("转换后的温度是{:.2f}C".format(C))
elif Temperature[-1] in ['C','c']:
    F=1.8*eval(Temperature[0:-1])+32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("格式错误,请输入正确格式")

下面进行逐行解释:

第一行:Temperature=input("请输入一个带有符号的温度值:")

#其中Temperature是变量名,右边是input()函数,其语法为input(information),双引号里面的字符可作为输入值的提示要求,并将输入的内容以字符串的形式赋给Temperature。

剩下九行:

#注意缩进,注意缩进,注意缩进,使用if-elif-else语句形式:

if 布尔表达式A:

代码块A

elif 布尔表达式B:

代码块B

else:

代码块C

如果布尔表达式A为True,就执行代码A,否则就判断布尔表达式B的值,如果为True,就执行代码B;如果表达式A和表达式B都不为True,就执行代码C。

其中Temperature[-1]是指字符串的最后一位,【0】指第一位,【-1】指最后一位。

输入一个255c进行演示:

 

 

因为Temperature的值是input以字符串的形式赋予,所以截取其最后一个字符,用来判断输入的温度值是摄氏度还是华氏度。Temperature[0:-1]是对其进行切片使用,切片需注意其规则为左闭右开,即指包含左边位置的内容,但不包含右边位置的内容。

其中eval()函数的使用,本代码使用的eval()函数的作用仅仅是为了去除字符串的双引号,来取其中的数值进行计算,注意Temperature的内容是字符串。

 format函数用法:“{}”.format(),其中{}中可以进行指定格式的设置,如{:.2f}指保留小数点后两位,将F或者C中换算后的数值按照指定格式输出,也可以设置多个参数如:

 最后那个判断出不符合要求,并进行提示。

小白一枚,希望大家多多批评指正

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐