如何用 python编写华氏摄氏度的相互转换?
展开全部
华氏度和摄氏度的转换关系为,℉ = 9×℃ /5+32 或 ℃ = 5×(℉- 32)/9
输入为一个字符串,最后一位为'F'表示输入为华氏度,最后一位为'C'表示输入为摄氏度
输出将自动转换成为相同格式的另一种温度。示例的输入为:'30.1C'、'86F'。
def tempTransform(tempStr):
tempVal = tempStr[:-1]
try:
tempVal = float(tempVal)
except ValueError:
raise ValueError('Temperature value is not valid.')
tempUnit = tempStr[-1]
if tempUnit == 'F':
tempVal = (tempVal - 32) * 5 / 9
return '{}C'.format(tempVal)
elif tempUnit == 'C':
tempVal = tempVal * 9 / 5 + 32
return '{}F'.format(tempVal)
else:
raise ValueError('Temperature unit is not valid.')
print(tempTransform('30.1C'))
# 86.18F
如果输入字符串中的温度值无效或者单位不是'C'或者'F',均会会抛出ValueError。
展开全部
print '1. Fahrenheit to Celsius'
print '2. Celsius to Farhrenheit'
opt = raw_input('Enter: ')
if opt not in ['1','2']:
print 'Error'
elif opt == '1':
d = raw_input('Tempature in F: ')
try:
if float(d) <= -459.67:
print 'Error'
else:
print round((float(d)-32)/1.8,2)
except ValueError:
print 'Error'
elif opt == '2':
d = raw_input('Tempature in C: ')
try:
if float(d) <= -273.15:
print 'Error'
else:
print round((float(d)*1.8)+32,2)
except ValueError:
print 'Error'
昨天也是你问的问题么?
绝对零度只能无限接近,所以温度不低于 -273.15摄氏度 或者 -459.67华氏度
过滤掉了很多可能错误的输入并提示Error.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-07
展开全部
哈工大的吗?如果是,小心一点,往届的学长说老师也喜欢上百度知道········
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询