前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >来学Python啦,用Python详细讲解温度转换器

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

作者头像
小Bob来啦
发布2020-12-15 09:43:40
7400
发布2020-12-15 09:43:40
举报
文章被收录于专栏:用户8057608的专栏

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

前些天小编弄过Python语言哈,不过好像也有些时间了。前面我们也介绍过Python3.8版本的安装,传送门:

初遇python

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

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

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

代码语言:javascript
复制
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

第一行

代码语言:javascript
复制
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']:是代表什么意思呢?对了,还有个框框[]没讲

,属实没啥好讲的

。简单理解为一个边界,属于小时候三八界限一样的,把各种不同的语句分隔开。

['F','f']:要理解还得带上前面的in,意思大概就是在...里面有没有F和f,加上最前面的变量,大概意思就知道了。

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

3

第三行

代码语言:javascript
复制
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

第四行

代码语言:javascript
复制
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能够学得快乐。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档