来学Python啦,用Python详细讲解温度转换器
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可以理解为一个变量,e**val便是一个关键字,也叫评估函数,大概作用就是去掉参数最外侧引号并执行余下语句的函数。**
例如:>>>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.
最后我们来看一下它的运行结果咯:
- 点赞
- 收藏
- 关注作者
评论(0)