✨ Python入门 ✨ 2️⃣ 写一个温度转换小程序❤️
Posted Lucifer三思而后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了✨ Python入门 ✨ 2️⃣ 写一个温度转换小程序❤️相关的知识,希望对你有一定的参考价值。
前言
之前那篇,我已经配置好了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("输入错误")
写在最后
难能可贵是坚持!多动手多练习,回报总会来的,迟早的事儿~❤️
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
以上是关于✨ Python入门 ✨ 2️⃣ 写一个温度转换小程序❤️的主要内容,如果未能解决你的问题,请参考以下文章
✨ Python入门 ✨ 3️⃣ 画一个大太阳 ☀️,甚至还能画个蜡笔小❤️
✨ Python入门 ✨ 3️⃣ 画一个大太阳 ☀️,甚至还能画个蜡笔小❤️
小功能⭐️Unity中Texture2DSpriteTextureRenderTextureimagebyte的转换