#校园V计划##科技##python打卡#今天我们来总体复盘一下温度转换的代码,一起来理解一下它的含义吧
首先我们来看第一行以井号开头的,我们知道这就是“注释”,它不被计算机的程序所运行,所以井号之后我们写任何东西都可以,这一行我们可以略去
紧接着我们看第二行,它是使用input函数,从控制台获得了一个信息,这个信息是由用户在程序运行过程中输入的。比如说用户输入了82F,那么82F将会保存在变量TempStr中,这里的TempStr就是一个表达温度的字符串类型的变量
然后进入第三行 if,保留字“if”表达的是一个分支语句。它会判断后面的条件,我们来看一下条件是什么吧,就是TempStr[-1],指的是用户输入的字符串的最后一个字符,用保留字in 判断最后一个字符是不是F或者f,即判断最后一个字符是否在由F和f组成的列表类型之中。如果用户输入的信息的最后一位是F或者f,按照程序的定义,那么用户输入的就是一个华氏温度值,我们就进入到代码的第四行和第五行,对华氏温度进行摄氏温度的转换
我们看elif一行,如果用户输入的TempStr的最后一位不是F或者f,那么第三行判断之后,第四行第五行将会被跳过,直接执行第六行代码,用elif去进一步判断TempStr的最后一位是否是C或c,即用户输入的信息是不是摄氏度。如果是摄氏度,那么第七行第八行等摄氏度的温度转换信息将会被执行
如果elif的判断条件不成立,那么将执行else语句。else语句是默认执行的,执行整个程序的第十行代码,向用户的控制台输入信息告诉用户你输入的格式是错误的
总结一下就是第三行、第四行、第五行构成了判断以及转换华氏温度到摄氏温度的过程;第六行、第七行。第八行构成了判断摄氏温度以及将摄氏温度向华氏温度转换的过程;第九行、第十行用来判断如果用户输入的不是我们预定义的摄氏温度或华氏温度的格式,我们将提示用户输入的格式错误
最后我们回头再看一下第四行的代码,在第四行中我们使用eval函数,对TempStr除最后一位以外的其它位进行了一个评估运算。比如用户输入的信息是82F,那么TempStr[0:-1]将去掉最后一位F获得字符串82,经过评估函数操作它将变成一个数字类型;也就是说如果用户输入的是82F,那么eval函数产生的是整数82,整数82就可以参与整数之间的运算。它通过减32除1.8就变成了一个摄氏温度值,并把摄氏温度值赋值给变量C,然后经过第五行print格式化将产生的变量C输出出来,这样的过程同时发生在摄氏温度向华氏温度转换的相关语句中
我们可以尝试逐一地去理解这十行代码,如果你是一个编程小白也没关系。虽然这一步稍微有点难度,但稍微花一点时间,就能看懂这十行代码了。这个时候你会发现其实编程是非常有规律、非常有套路的