[Python急救站课程]温度转换程序
华氏温度转换为摄氏度的温度转换程序共有三种写法
一、简单的温度转换程序
TempStr = input("请输入带有符号的温度值: ") # TemStr表示命令,表示占位符。=为赋值符号。
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * (eval(TempStr[0:-1])) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
# 其中"请 输 入 带 有 符 号 的 温 度 值 : "是字符串类型,用双引号或单引号表示。
# 正向为0 1 2 3 4 5 6 7 8 9 10 11
# 反向-12-11-10-9-8 -7 -6-5-4 -3 -2 -1
二、采用while循环
TempStr = input("请输入带有符号的温度值: ")
while TempStr[-1] not in ['N', 'n']: # while循环语句,当为True时执行
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
TempStr = input("请输入带有符号的温度值: ")
三、做def函数封装
def tempConvert(ValueStr):
if ValueStr[-1] in ['F', 'f']:
C = (eval(ValueStr[0:-1]) - 32) / 1.812
print("转换后的温度是{:.2f}C".format(C))
elif ValueStr[-1] in ['C', 'c']:
F = 1.8 * eval(ValueStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
TempStr = input("请输入带有符号的温度值: ")
tempConvert(TempStr)
四、程序整数输出
TempStr = input("请输入带有符号的温度值: ") if TempStr[-1] in ['F', 'f']: C = (eval(TempStr[0:-1]) - 32) / 1.8 # eval函数用来执行一个字符串表达式,并返回表达式的值,可以将字符串转化成其他变量类型。 # 语法eval(expression[, globals[, locals]]) # expression – 表达式。 # globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 # locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 print("转换后的温度是{:.0f}C".format(C)) elif TempStr[-1] in ['C', 'c']: F = 1.8 * (eval(TempStr[0:-1])) + 32 print("转换后的温度是{:.0f}F".format(F)) else: print("输入格式错误")