今天我们来总体复盘一下温度转换的代码,一起来理解一下它的含义吧
首先我们来看第一行以井号开头的,我们知道这就是“注释”,它不被计算机的程序所运行,所以井号之后我们写任何东西都可以,这一行我们可以略去
注释不被计算机的程序所运行
紧接着我们看第二行,它是使用input函数,从控制台获得了一个信息,这个信息是由用户在程序运行过程中输入的。比如说用户输入了82F,那么82F将会保存在变量TempStr中,这里的TempStr就是一个表达温度的字符串类型的变量
input函数从控制台获得信息
然后进入第三行if,保留字“if”表达的是一个分支语句。它会判断后面的条件,我们来看一下条件是什么吧,就是TempStr[-1],指的是用户输入的字符串的最后一个字符,用保留字in判断最后一个字符是不是F或者f,即判断最后一个字符是否在由F和f组成的列表类型之中。如果用户输入的信息的最后一位是F或者f,按照程序的定义,那么用户输入的就是一个华氏温度值,我们就进入到代码的第四行和第五行,对华氏温度进行摄氏温度的转换
if函数表达的是一个分支语句,它会判断后面的条件
我们看elif一行,如果用户输入的TempStr的最后一位不是F或者f,那么第三行判断之后,第四行第五行将会被跳过,直接执行第六行代码,用elif去进一步判断TempStr的最后一位是否是C或c,即用户输入的信息是不是摄氏度。如果是摄氏度,那么第七行第八行等摄氏度的温度转换信息将会被执行
用elif对C和c进行判断
如果elif的判断条件不成立,那么将执行else语句。else语句是默认执行的,执行整个程序的第十行代码,向用户的控制台输入信息告诉用户你输入的格式是错误的
else语句将执行最后一行代码进行提示
总结一下就是第三行、第四行、第五行构成了判断以及转换华氏温度到摄氏温度的过程;第六行、第七行。第八行构成了判断摄氏温度以及将摄氏温度向华氏温度转换的过程;第九行、第十行用来判断如果用户输入的不是我们预定义的摄氏温度或华氏温度的格式,我们将提示用户输入的格式错误
最后我们回头再看一下第四行的代码,在第四行中我们使用eval函数,对TempStr除最后一位以外的其它位进行了一个评估运算。比如用户输入的信息是82F,那么TempStr[0:-1]将去掉最后一位F获得字符串82,经过评估函数操作它将变成一个数字类型;也就是说如果用户输入的是82F,那么eval函数产生的是整数82,整数82就可以参与整数之间的运算。它通过减32除1.8就变成了一个摄氏温度值,并把摄氏温度值赋值给变量C,然后经过第五行print格式化将产生的变量C输出出来,这样的过程同时发生在摄氏温度向华氏温度转换的相关语句中
eval函数进行评估运算
print会对两种温度表达形式进行转换
我们可以尝试逐一地去理解这十行代码,如果你是一个编程小白也没关系。虽然这一步稍微有点难度,但稍微花一点时间,就能看懂这十行代码了。这个时候你会发现其实编程是非常有规律、非常有套路的
对中国空中优势得看六代机?美军急于上马,可能反比中方出来得晚
据美国《空天力量》杂志16道,美国空军计划在5年内投入284.8亿美元,用于推进下一代空中优势战斗机项目和协同作战飞机计划。这就是我们通常所说的6代机。所谓的“下一代空中优势战斗机”项目指的是有人战斗机,而“协同作战飞机计划”指的是忠诚僚机。两个项目综合起来,就是美国的所谓第六代战机。看了一下相关的...
2022年底投入使用!济宁新城大学科技园二期项目进展迅速
齐鲁晚报·齐鲁壹点记者邓超郭纪轩见习记者孔贤通讯员崔俊露济宁新城大学科技园二期项目位于太白湖新区荷花路西、北湖西路南,涵盖4栋单体建筑,总建筑面积12万平方米。目前,B、C两栋楼已完成±0.00以下主体框架结构,正在进行二层顶板施工;A、D两栋正在进行负一层钢筋绑扎施工。计划今年年底B、C、D三栋楼...
中国IC产业迎来崛起“原爆点”
与其说移动互联网改变了一代人的生活,还不如说是颠覆了传统的行为习惯。电商购物、电子支付、网络银行在方便人们足不出户“淘宝”的同时,也对信息安全提出了更高的要求。数据危机时代下的“中国崛起”从技术角度来看,无论是传统PC还是手机、平板等移动设备,安全防护措施均由底层与表层构成,说的通俗一些,底层就是“...
回民区人民政府与浙江星煜机电科技股份有限公司举行签约仪式
6月30日,回民区人民政府与浙江星煜机电科技股份有限公司举行项目合作框架协议签约仪式。此次签约,对于加快呼和浩特市区域经济发展步伐,促进生态、绿色、环保、新能源经济高质量发展具有重要意义。区委常委、政府副区长李锐亨,相关部门负责人参加签约仪式。仪式上,浙江星煜机电科技有限公司董事长介绍了公司的主营业...