[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("输入格式错误")

 

posted @ 2023-10-19 01:34  Jinylin  阅读(354)  评论(0编辑  收藏  举报