示例1(温度转换):

1.知识铺垫

-摄氏度 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
-华氏度 以1标准大气压下水结冰点为32度,沸点为212度,将温度进行等分刻画

2.问题中计算部分的理解和确定

-1 直接将温度值进行转换
-2 通过程序处理带有温度信息的声音或图形,并进行理解和转换
-3 监控温度信息发布渠道,实时获取并转换温度值

3.划分边界

-输入 带华氏或摄氏标志的温度值
-处理 根据温度标志选择适当的温度转换算法
-输出 带摄氏或华氏标志的温度值

4.输入输出格式设计

标识放在温度最后,F表示华氏度,C表示摄氏度

5.算法设计

C=(F-32)/1.8
F=C*1.8+32
C表示摄氏温度,F表示华氏温度

6.代码

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

7.举一反三

-温度数值与温度标识之间关系可以改变
-标识改变放在温度数值之前:C82,F28
-标识字符改变为多个字符:82Ce,28F
-类似问题有货币转换、长度转换、重量转换、面积转换......问题不同,但程序代码相似

8.逐行分析

假设用户输入为82F

#TempConvert.py(注释)

TempStr=input("请输入带有符号的温度值:")(input,从控制台获取用户输入的信息,且input函数中的字符串是提示用户的信息,即input函数从控制台获取的用户输入保存为字符串类型)

if TempsSr[-1] in ['f','F']:(if条件判断,判断前者是否与列表中某个元素相同,如果在就返回一个True,执行:(冒号)之后的语句,不存在就返回False。注:冒号是语法的一部分不可省略)

    C=(eval(TempStr[0:-1])-32)/1.8 (右侧运算结果赋值给变量C,TempStr[0:-1]会去掉F得到字符串"82",evla会去掉",得到数字82)

    print("转换后的温度是{:.2f}C".format(c))(向控制台打印输出,此处输出:转换后的温度是(一个数字)C)

elif TempStr[-1] in ['C','c']:(判断前者是否与列表中某个元素相同,如果在就返回一个True,执行:(冒号)之后的语句,不在就返回False)

    F=1.8*eval(TempStr[0:-1])+32(右侧运算结果赋值给变量F,右侧数据类型也赋给变量)

    print("转换后的温度是{:.2f}F".format(F))(向控制台打印输出,此处输出:转换后的温度是(一个数字)F)

else:(if、elif、else条件判断语句一部分,表示:若上述两种情况都不成立,就执行else之后的语句)

    print("输入格式错误")(向控制台打印输出,此处输出:输入格式错误)

9.知识补充

(1)注释

-注释 用于提高代码可读性的辅助性文字,不被执行
-单行注释 以#开头,其后内容为注释
-多行注释 以'''开头和结尾,'''中间为注释内容

注意:实际上在python语言中没有提供的多行注释的表示方法,(''')表示一个字符串,但若字符串没有定义到一个变量中,它在程序中不执行,就可以当作注释使用

(2)变量

-变量 程序中用于保存和表示数据的占位符号
-变量采用标识符(名字)来表示,关联标识符的过程叫命名
-可以使用=向变量赋值或修改值,=被称为赋值符号

-变量命名规则 大小写字母、数字、下划线和汉字等字符及组合
        如:TempStr,Python_Great,这是门Python好课
-注意事项 大小写敏感、首字符不能是数字、不与保留字相同

(3)保留字

-保留字 python中一共有33个保留字

(4)数据

-数据类型 字符串、整数、浮点数、列表
-数字类型 10011101(整数类型,包括正数和负数)、1.8(浮点数类型,数学中的实数,带有小数部分的数字,也包含正数和负数)
-字符串类型 "10,011,101"(由一个或多个字符组成,由一对单或双引号表示)
-列表类型 [10,011,101](由0个或多个数据组成的有序序列)        -列表使用[ ]表示,采用逗号(,)分隔元素

(5)切片索引

-两种索引体系 正向递增体系 和 反向递增体系

使用[ ]获取字符串中一个或多个字符
-索引 返回字符串中单个字符    <字符串>[M]
-切片 返回字符串中一段字符子串    <字符串>[M:N]
TempStr[0:-1]表示从零开始,但不到字符串的最后一个字符的字符字串
相当于把字符串的最后一个字符去掉

-使用保留字in判断一个元素是否在列表中

(6)eval函数

-eval 去掉最外侧引号并执行余下语句的函数

例1:eval('print("Hello")')
evla去掉',剩下执行print语句,最后输出Hello

例2:eval(TempStr[0:-1])
如果TempStr[0:-1]值是"12.3",输出是12.3,因为eval将12.3外的"去掉

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐