一、10行代码#TemCover.py

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("输入格式错误!")

二、逐行分析

1行:

(#)表示注释,在程序运行时注释内容不会被执行,(#)只能表示单行注释,多行注释表示方法为(''' 第一行  第二行……  '''),即三个单引号开始,三个单引号结尾。不管是单行注释还是多行注释,其作用都是对代码进行介绍说明,对提高代码可读性帮助很大,也为排除故障提供线索。建议养成注释代码的习惯。

2行:

定义变量TempStr,变量的作用是存储数据。变量名称可以随便使用数字、字幕、下划线的组合来进行命名。但是变量名称不能以数据开头,变量名称不能与保留字一样,python中的保留字一共有33个,本实例中的保留字如if、elif、else、input、print、eval、in这些;

(=)等号,在编程语言中,等号就是赋值的意思,就是将等号右边的数据赋值给左边的变量。本例中就是将右边的数据输入给左边的变量TempStrt。那判断左右两边的数据是否相等应该用什么表示呢?答案是使用(==),即两个等号,此方式表示左边等于右边的意思。

(input)输入函数,在程序运行中提示用户输入信息。提示内容就是函数括号的内容。用户输入的数据就会通过赋值符号(=)赋值给等号左边的变量TempStr。

3行:

(if语句)分支语句,对其后面的语句进行判断,当其后的语句为true时才会执行相应后续动作,如果为false时,就会跳过if的执行语句进行下一个判断。

(TempStr[-1])用户输入的字符串是有序的排列,如果用户输入的是‘82F’,那么第一个字符是8,第二个字符是2,第三个字符是F。字符串的索引分两种方式,一种是正向排序,一种是反向排序。正向排序中第一个字符往往用0表示而不是1表示。举例来说就是‘82F’的第一个字符用TempStr[0]表示,而不是用TempStr[1]表示,这是正向排序。反向排序以-1表示最后一个字符,倒数第二个字符用-2表示,以此类推,实例中TempStr[-1]表示最后一个字符。实例4行中TempStr[0:-1]表示的意思是取正向的第一个字符到反向的第一个字符但是不包含反向的第一个字符,如果输入的是82F,那么就会取82而不会取F。

(in ['F','f'])in是保留字,中括号表示列表,意思是列表中的元素是f或者F,配合if分支语句意思就是如果TempStr存储的字符串最后一个字符是f或者F,如果此语句为真就执行下面一行的动作

4行:

缩进,python中对缩进有着严格的定义,分支语句中缩进表示上下语句的逻辑层次关系。代码中的缩进必须一致,要缩进四个空格就全部用四个空格缩进,如果不一致程序在执行时就报错。缩进是python语言的语法要求,是强制要求。

eval函数,TempStr是此函数的参数。eval函数的作用是将参数最外侧的引号去掉,举例来说,如果eval的参数是“‘abc’”,那么其结果就是’abc‘,如果参数是’3+2‘,那么eval返回结果就是5,因为最外侧单引号被去掉就是3+2,直接进行算数运算,结果就是5.

5行:

print输出函数,其参数的内容就是输出的结果。本例中有一些特殊表示会让人不太理解,大家可以先这样记住,后续我会详细介绍。{:.2f}表示取小数点后两位,format是一个函数,{:.2f}要取的后两位小数数值就是针对此其参数来进行的。

6、7、8、9、10行:

可以参考上述说明

10行代码完成温度转换,我们发散思维想一下,用python可以实现生活中的类似转换,比如重量的转换、钱币的转换、距离的转换、尺码的转换、容量的转换等等。凡是可以用公式表示的都可以用实例中的思路来进行转换。

总结下,10行的python代码能让我们学到什么:

1、注释,单行注释,多行注释

2、变量,变量的定义规则,变量类型包括:字符串、整数、浮点数、列表

3、保留字(也叫关键字),33个,if、elif、else、input、print、in等

4、语法格式,缩进

5、函数与参数、赋值(=)、等于(==)

6、字符串的正向与反向排序,对字符串的特定位置的字符进行检索

本例有些内容理解不了可以先放着后面还会降到,但是一定要对这10行代码体现出的语法结构理解,语法结构就是骨架,函数、字符串、变量等的使用是皮肉,先摸清骨架,知道我们要干什么,知道输入、处理、输出这几项该怎么规划,才是开始学习要掌握的。

建议:

实践--总结--实践--总结,螺旋式的学习方法是最有效的,说了再多,看了再多,自己不动手练,啥也不是