【编程实例】——P01:温度转换实例TempConvert.py

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

温度转换实例分析

一、算法分解

根据华氏和摄氏度定义,转换公式如下:

C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
#其中,C表示摄氏温度,F表示华氏温度

1、通过input函数来获取带符号温度值输入,格式为数值+单位,num + F or C。input返回的是一个字符串,如'38C''90F'
2、对于输入的字符串,使用[-1]可以提取单位F or C,通过单位来选择转换公式的选择:

  • 如果输入单位是F或者f,使用C = ( F - 32 ) / 1.8公式进行转换
  • 如果输入单位是C或者c,使用F = C * 1.8 + 32

3、对于输入的字符串,使用eval([0:-1]),使用[0:-1]提取了除单位之外的部分,提取后的数值是字符串数值;再使用eval函数去除字符串外侧的引号,这样得到的就是一个数值。

二、变量或函数设计

1、temStr:带符号的温度输入值,如38C、90F
2、temNum:需要转换的温度的数值,如38、90
3、c:转换后的摄氏温度变量
4、f:转换后的华氏温度变量

你可能感兴趣的:(Python代码实例)