VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 计算机二级Python学习笔记(一):温度转换

今天通过一个温度转换的十行代码,理解了一些Python的基本元素。

所谓温度转换,就是摄氏度和华氏度的转换,要求输入摄氏度,可以输出华氏度,反之一样能实现。代码如下:

1
2
3
4
5
6
7
8
9
10
#TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1in ['F','f']:
    = (eval(TempStr[0:-1]-32)/1.8)
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1in ['C','c']:
    = 1.8*(eval(TempStr[0:-1])+32)
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")

只有十行,但还是看不懂?没关系,我开始也不懂,接下来我逐行梳理一遍,感兴趣的话也可以和我从这十行代码开始,了解一些Python的基本元素。

第1行 #TempConvert.py

这行是注释,只是为了提高代码的可读性,不参与代码的执行。

python的注释有两种,单行注释使用#,多行注释可以使用在注释内容前后用三个单引号来实现。

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

其中TempStr是一个变量,通过“=”来进行赋值。变量命名规则首字符不能是数字,不能和保留字符相同,区分大小写。

input()是输入函数,获取用户输入的信息,用户输入的信息以字符串的形式保存在<变量>中。

双引号里面的是字符串,这里作用是程序的提示符。

结合起来看,就是显示一段提示文字,然后要输入一个带符号的温度值,以字符串的形式赋值给TempStr。

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

if是分支语句,python的分支语句除了if还有elif,else。它们后面都要带一个冒号,这是语法的一部分。

方括号代表数据类型是列表类型,关于数据类型还有整数类型和字符串类型。

-1代表字符串的序号,-1指的字符串的最后一位,关于字符串序号,可以参考下图:

in也是保留字符,用来判断是否在列表中。

结合起来理解,这行代码的意思是,如果变量TempStr中的最后一位,包含F或f,也就是单位是华氏度时,那么就执行下面的代码。

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

其中C也是变量,需要将计算的结果赋值给C。

[0:-1]代表字符串的切片,表示的意思是从字符串第一位,到不包含最后一位。也就是提取了单位前的数字。

eval()函数用来执行计算表达式,可以实现去除字符串两边的引号。由于上面是字符串的切片,提取的是一个字符串,去掉两边引号后就可以参与到后面的计算了。

结合起来看,就是将华氏度的数值,通过公式的计算,结果返回给C。

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

print()是输出函数,以字符串形式将结果显示出来。

{:.2f}代表保留两位小数,{}代表槽,后续的变量将会引入到这里。这里是将.format(C)中C变量引入进来,也就是第四行计算出的值。

结合来看,就是输出计算后的摄氏温度的值。

第6~10行代码,除了简单的分支语句的区别,其它的在上面都有涉及,主要就是当判断输入为华氏度时,计算输出摄氏度。以及格式不对的情况下显示的字符串。

这样一梳理,十行代码就清晰多了。今天还做了几道习题巩固了一下,说是举一反三,实际上是搞懂了三,才对这个一理解更深刻一些。

关于温度转换问题就聊到这里吧,据说明天又要降温了,大家注意保暖。

 
出  处:https://www.cnblogs.com/xudewu/p/14511942.html


相关教程