✨ Python入门 ✨ 2️⃣ 写一个温度转换小程序❤️

举报
Lucifer三思而后行 发表于 2021/07/31 16:30:01 2021/07/31
【摘要】 使用Python来写一个小程序,初步了解语法是怎样的。

前言

之前那篇,我已经配置好了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("输入错误")

写在最后

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


本次分享到此结束啦~

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200