问题分析
世界上存在两种温度表达,分别是摄氏度和华氏度。
需求,将华氏度转化成摄氏度,将摄氏度转化成华氏度。
该问题中计算部分的理解和确定
理解1,直接将温度转换。
理解2,将温度信息发布的声音或图像形式进行理解和转化。
理解3,监控温度发出信息渠道,实时获取转化温度值。
我们采取理解1进行实现。
温度值需要标明温度体系,即摄氏度或者华氏度,转换后也需要给出温度体系。
边界划分
输入,带有华氏度或者摄氏度的温度值。
处理,根据温度标志选择适当的温度转化算法。
输出,带摄氏度或者华氏度的温度值。
输入输出的格式设计
标识放在温度最后,F表示华氏度,C表示摄氏度。
82F表示华氏82度。
28C表示摄氏28度。
设计算法
转换公式:C=(F-32)/1.8 F=C*1.8+32
源代码
#温度转化.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("格式错误")
温度转化,举一反三
python语法元素理解。
虽然代码一共10行,但是包含了很多语法元素。
如果我们能够理解这10行代码的含义,那我们就能够快速入门python语言。
我们也可以尝试把标识放到温度的前面。
温度转化问题,是各类转化问题的代表性问题,相应的我们可以完成货币转化,长度转化,重量转化,面积转化等。
代码解释
代码高亮,是编程的色彩辅助体系,不是语法要求。
缩进,是代码的格式框架,缩进有单层缩进,多层缩进。
缩进是语法的一部分,缩进不正确会程序运行错误。
缩进是表达代码包含和层次关系的唯一手段。
缩进一般为4个空格和1个tab键。
注释,是用于提高代码的可读性的辅助文字,不被执行。
#表示单行注释。
'''表示多行注释开头,表示多行注释结尾'''
命名与保留字
TempStr,C,F,是变量,是程序中保存和表示数据的占位符号。
变量采用标识符来表示,关联标识符的过程叫做命名。
TempStr是变量名字
可以使用=号向产量赋值或者修改,=是赋值符号。
T= "82F"含义为向T赋值82F的字符串。
命名规则,大小写字母,数字,下划线和汉字字符及组合。
命名的时候语言注意大小写,首字符不是数字,不能和保留字相同。
保留字,是被编程语言保留使用的字符,一共有33个保留字,保留字大小写敏感。
数据类型
这段代码中包含了,字符串,整数,浮点数,列表,数据类型。
数据类型,这和excel中定义单元格很相似。
浮点数,数学中的实数,带有小数部分,也包含正数和负数。
正向递增序号,反向递交序号,表示方法,[-1]
获取字符串的倒数第一个字符。
切片,表示返回一段字符串,表示方法,[M:N]
列表形式[10,011,101],由个或者多个数据组成的有序序列,中间的元素用,分离。
in可以判断一个元素是否在列表中。
由赋值符号构成一行代码
赋值语句用来给变量赋予新的数值。
C=(eval(TempStr[0:-1])-32)/1.8表示右运算结果赋值给变量C。
赋值语句右侧的数据类型也会作用于产量。
TempStr=input(""),其中input返回的字符串,所以TempStr这是字符串。
分支语句,由判断条件决定程序运行方向的语句。
在python中,if,elis,else来构成判断分支结构。
if TempStr[-1]in['f','F']:表示如果条件为True
则执行冒号后的语句。
每个保留字所在行存在一个冒号,这个冒号是语法的一部分,冒号及后续缩进来表示后续语句和条件的所属关系。
函数,能够根据输入的参数产生不同的输出功能的过程。
python中的函数,类似数据中的函数f=f(x)。
print("输入格式错误")表示打印输出,输入格式错误。
输入,是程序或者外部信息的一个过程。
变量=input(“提示字符串”),用户输入的数字和数据类型,都将保存到变量中。
输出,向控制台输出结果。
print("输入错误数据")向控制台输出字符串。
print("转换后的温度是{:.2f}C".format(C)),是输出的格式化方法,以后详细说。
eval()能够去掉参数最外侧引号并执行余下语句的函数。
eval(TempStr[0.-1]),如果TempStr的值是"12.3",输出的值为12.3数字,即浮点数。
小结
缩进、注释、命名、变量、保留字。
数据类型,字符串,整数、浮点数、列表。
赋值语句、分支语句、函数。
input()print()eval()print()格式化
领取专属 10元无门槛券
私享最新 技术干货