当前位置 博文首页 > LuciferLiu_DBA:? Python入门 ? 2?? 写一个温度转换小程序??

    LuciferLiu_DBA:? Python入门 ? 2?? 写一个温度转换小程序??

    作者:[db:作者] 时间:2021-08-06 15:58

    前言

    之前那篇,我已经配置好了Python学习环境,并且成功创建项目输出了Hello World,还不会配置的朋友可以去看下:? Python入门 ? 1?? 环境配置 ?? Hello World。

    这篇我打算写一个温度转换的小程序:摄氏度和华氏度之间的互相转换
    在这里插入图片描述
    加油💪🏻ヾ(?°?°?)ノ゙

    废话不多说,我就直接开始了~

    正文开始

    1 创建项目文件

    第一步?🏻,自然是打开PyCharm,麻利的先创建一个新项目,再创建一个Python文件😌:
    在这里插入图片描述

    2 理清逻辑

    不管编写什么程序前,我的习惯:逻辑一定要先缕清楚!!!

    温度转换小程序嘛,简单说,假设我输入100摄氏度,那么程序执行程序之后,我期望的是给我返回对应的华氏度数值;反之,亦然。

    其实逻辑就非常清楚了:

    • 第一步: 输入一个温度数值,摄氏度或者华氏度
    • 第二步: 判断输入的温度是摄氏度还是华氏度
    • 第三步: 如果是摄氏度需要通过公式转换为华氏度,并打印出计算结果
    • 第四步: 如果是华氏度需要通过公式转换为摄氏度,并打印出计算结果
    • 第五步: 如果输入的啥也不是,就返回错误提示消息

    以上就是简单的程序逻辑,接下来需要处理的就是转换公式和一些小细节,比如小数的浮点运算。

    • 😄百度一下转换公式,很简单,华氏度转摄氏度:℃ = (οF - 32) / 1.8,反之,摄氏度转华氏度:oF = 1.8 * ℃ + 32

    • 这里我们假设华氏度变量名为 f,摄氏度变量名为 c

    • 由于涉及到小数运算,因此需要使用float函数;讲到这里,大概逻辑已经理清了。

    3 程序编写

    那接下来就是根据以上逻辑来编写程序了,一步步来就是了😎!

    1、输入一个温度,摄氏度或者华氏度
    在这里插入图片描述

    • 如上演示,程序可以通过 input 函数来获取用户输入值。
    • 定义 val 变量名来接收 input 函数获取到的值,这里我可以选择输入华氏度或者摄氏度,比如 32c/32C 或者 32f/32F

    2、判断输入的温度是摄氏度还是华氏度
    在这里插入图片描述

    • 程序中的 if…elif 是分支判断语句,用来判断输入温度的选项;
    • val[-1] 是指获取变量的 最后一位,不难理解,我是打算通过最后一位值是 c/C 或者 f/F 来判断摄氏度和华氏度。

    3、如果是摄氏度需要通过公式转换为华氏度,并打印出来
    在这里插入图片描述

    • 上面👆🏻的第三行程序其实就是将温度转换的公式用Python语言翻译了一下,使用赋值语句来将计算结果赋值给变量 f 。

    • 由于计算结果可能会出现小数,所以需要使用float浮点函数;

    • val[0:-1] 是python特有的切片操作,也叫切割操作,这里的下标0表示左起第一个元素, -1表示倒数最后一个元素,这里自然就是要获取我们输入值的数字部分,即去掉c/C或者f/F

    • 最后通过print输出计算结果;%.2f是将该浮点数float保留两位小数,2表示保留的位数。

    4、如果是华氏度需要通过公式转换为摄氏度,并打印出来
    在这里插入图片描述

    • 这里的逻辑同第三步解释的一样,不再做解释啦😏~

    5、如果输入的啥也不是,就返回错误
    在这里插入图片描述

    • 这个最简单了,我最爱写,输入错误返回提示嘛!😕So easy~

    4 运行测试

    既然程序编完了,必须得来运行测试一波,看看有么得毛病:
    在这里插入图片描述
    点击运行,输入摄氏度 32,返回华氏度 89.60,答案对吗?百度下?
    在这里插入图片描述
    貌似没啥毛病,那就结束咯!今天就写到这了😋,我要继续学习啦~

    完整程序如下:

    val = input("请输入带温度表示符号的温度值(例如:32C):")
    if val[-1] in ['C', 'c']:
        f = 1.8 * float(val[0:-1]) + 32
        print("转换后的温度为:%.2fF" % f)
    elif val[-1] in ['F', 'f']:
        c = (float(val[0:-1]) - 32) / 1.8
        print("转换后的温度为:%.2fC" % c)
    else:
        print("输入错误")
    

    写在最后

    难能可贵是坚持!多动手多练习,回报总会来的,迟早的事儿~??
    在这里插入图片描述


    本次分享到此结束啦~

    如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

    cs