写点什么

来学 Python 啦,用 Python 详细讲解温度转换器

用户头像
Bob
关注
发布于: 2021 年 04 月 08 日
来学Python啦,用Python详细讲解温度转换器

Don't let dream just be your dream。别让梦想只停留在梦里。


Python 的其它 IDLE 其实还有 Pycharm,Anaconda。Pycharm 的安装教程和上次安装 Clion 相差不大,只是 Clion 是用的免安装版本,而 Pycharm 是需要安装的,小编下期为大家讲解 Pycharm 和 Anaconda 的详细安装教程。


今天为大家演示一个华氏温度和摄氏温度之间的转换:


先放代码(不得不说,Python 语言的代码真的是简洁):

TempStr=input("请输入带有符号的温度值:")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("输入错误")
复制代码


小编现在也是刚开始学习 Python,所以尽量会给大家讲得更详细。


1.第一行

TempStr=input("请输入带有符号的温度值:")

首先,我们先看第一行代码,第一行代码(如上图)有一个 TempStr,可以称它为变量,有编程基础的就容易理解一些,和 C 语言有点不同的是这个变量不需要定义,C 语言是明确提出变量使用之前是需要定义的。Python 是不需要提前定义的,可认为 Python 是在赋值时就定义了变量。

还有一个关键词 input,是用来输入的,可理解为:

变量=input(提示输入内容:输入的内容(赋给变量 TempStr))


2.第二行

if TempStr[-1] in ['F','f']:

下面来到第二行,if 大家应该都知道是什么意思,如果...这一看就知道是表判断的嘛,切记在 if 语句最后面需要带上:符号,下面的 elif 和 else 都需要有这个符号哦。


那么如果变量(TempStr)...后面又是什么意思呢,[-1]这是个啥呢,看起来好像 C 语言数组的下标,有排列的意思,那么在 Python 里面则是表示索引,意思就是返回字符串中单个字符,形式如:<字符串>[M]


由于 Python 有两种排列方式,叫正向递增序号和反向递减序号,大家看下图应该就容易理解了,正向递增序列是从 0 开始的,和 C 语言数组的小标表示一样;而反向递减序列则是从字符的最后一位开始,是从-1 开始的,和递增开头的 0 相照应,这样做应该是为了能更好的判断字符开头和结尾。



回到代码中,那么变量字符 TempStr 的[-1]字符则是表示变量 TempStr 最后的一位字符。


中间还有一个 in,可能大家会立即想到在...里面,没错,就是表示的这个意思。


还有最后['F','f']:是代表什么意思呢?对了,还有个框框[]没讲图片图片图片,属实没啥好讲的图片。简单理解为一个边界,属于小时候三八界限一样的,把各种不同的语句分隔开。


可以理解为在变量 TempStr 的里面是否有 F 和 f 的字符。数字和英文字母都可以作为字符哦。F 就是温度里面的华氏度。


3.第三行

C=(eval(TempStr[0:-1])-32)/1.8

再看下一行代码,看上去像一个公式,没错,就是表达公式的意思,这个公式也是华氏温度转化为摄氏温度的公式。在这句语句也用到了一些关键字,切记:关键字是不能作为变量的哦。C 可以理解为一个变量,eval 便是一个关键字,也叫评估函数,大概作用就是去掉参数最外侧引号并执行余下语句的函数。


例如:>>>eval("1")

输出便是 1,即去掉了""这个双引号。记住只去掉一层""哦。


来个复杂一点点的:>>>eval('print("Hello")')

输出便是 Hello,因为去掉最外层''后,余下的便是 print("Hello")语句,print 也是一个保留字,也叫关键字,都可以叫。这个和 C 语言里面的 Printf 很像,就一个字母的区别。也是输出的意思。即输出字符 Hello。


/符号在 Python 里面是除的意思。


下面语句还出现了[0:-1],这是个啥呢,根据上面的[-1],看起来也差不多,那么意思肯定也相差不多了,其实变量+[0:-1]在 Python 中是切片的意思,记住变量+[-1]这种是索引哦。切片又是什么意思呢,简单来说就是返回字符串中一段字符字串,形式如:<字符串>[0:-1]


如果我们输入的字符串是 45F,那么 TempStr[0:-1]表示 45,结合前面说的两种排列方式哦。


4.第四行

print("转换后的温度是{:.2f}C".format(C))

最后说一下输出这行代码,剩下的代码除了 elif 没说,基本上都是讲解过了。


print 是输出的意思,也叫格式化输出,format 是有多种用法的,这里只简单说一下,下次遇到后小编再详细解答哦。我们在这里可以简单理解为 format(C)是将变量 C 的内容替换{:.2f}中,其中.2 可以理解为保留小数点后面的两位数字。f 即是在输出的变量为字符时添加的,输出是有很多格式的,这是其中的一种。


即这句语句可以理解为输出内容为转换后的温度是+format 中变量 C 的内容。


5.简述

还有一个 elif 没说,其实看上去和 C 语言中的 else if 相差也不大,感觉是简写形式图片。不过这样理解后也好记一些,意思和 else if 是一样的,即否则如果,也可以理解为如果的意思。


最后的 else 便是否则的意思,即上面 if 和 elif 中的条件都不成立,便执行 else 中的语句。


6.运行结果

最后我们来看一下它的运行结果咯:



祝大家和小编一起学 Python 能够学得快乐。

发布于: 2021 年 04 月 08 日阅读数: 19
用户头像

Bob

关注

潜心修炼~ 2021.03.22 加入

大二计科在读,忠于热爱~

评论

发布
暂无评论
来学Python啦,用Python详细讲解温度转换器