-
1
-
2
温度转换
两种温度体系的转换
摄氏度转换为华氏度
华氏度转换为摄氏度
分析
输入:带华氏或摄氏标志的温度值
处理:根据温度标志选择适当的温度转换算法
输出:带摄氏或华氏标志的温度值
程序设计代码
#TempConvert.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("输入格式错误")
编写上述代码,并保存为TempConvert.py文件
Python程序语法元素分析
程序的格式框架
缩进:
严格明确:缩进是语法的一部分,缩进不正确程序运行错误
所属关系:表达代码间包含和层次关系的唯一手段
长度一致:一般用4个空格或1个TAB
注释:用于提高代码可读性的辅助性文字,不被执行
单行注释:以#开头,其后内容为注释
# 这里是单行注释
多行注释:以'''开头和结尾
''' 这是多行注释第一行
这是多行注释第二行 '''
命名与保留字
命名规则: 大小写字母、数字、下划线和汉字等字符及组合
如: TempStr,Python_Great, 这是门Python好课
注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
Python和python是不同变量,123Python是不合法的
保留字:被编程语言内部定义并保留使用的标识符
Python语言有33个保留字(也叫关键字)
if, elif, else, in
保留字是编程语言的基本单词,大小写敏感
if 是保留字,If 是变量
数据类型
数据类型:字符串、整数、浮点数、列表
字符串:由0个或多个字符组成的有序字符序列
字符串由一对单引号或一对双引号表示
"请输入带有符号的温度值: "或者 'C'
字符串是字符的有序序列,可以对其中的字符进行索引
"请" 是 "请输入带有符号的温度值: "的第0个字符
数字类型:整数和浮点数都是数字类型
整数:数学中的整数
32或-89
浮点数:数学中的实数,带有小数部分
1.8或者-1.8或者-1.0
列表类型:由0个或多个数据组成的有序序列
由0个或多个数据组成的有序序列
列表使用[ ]表示,采用逗号(,)分隔各元素
['F','f']表示两个元素'F'和'f'
使用保留字 in 判断一个元素是否在列表中
TempStr[-1]in ['C','c']判断前者是否与列表中某个元素相同
语句与函数
赋值语句:由赋值符号构成的一行代码
赋值语句用来给变量赋予新的数据值
C=(eval(TempStr[0:-1])-32)/1.8 #右侧运算结果赋给变量C
赋值语句右侧的数据类型同时作用于变量
TempStr=input("") #input()返回一个字符串,TempStr也是字符串
分支语句:由判断条件决定程序运行方向的语句
使用保留字if elif else构成条件判断的分支结构
if TempStr[-1] in ['F','f']:#如果条件为True则执行冒号后语句
每个保留字所在行最后存在一个冒号(:),语法的一部分
冒号及后续缩进用来表示后续语句与条件的所属关系
函数:根据输入参数产生不同输出的功能过程
类似数学中的函数, y =f(x)
print("输入格式错误") #打印输出 "输入格式错误"
函数采用 <函数名>(<参数>) 方式使用
eval(TempStr[0:-1])
TempStr[0:-1]是参数
Python程序的输入输出
输入函数:从控制台获得用户输入的函数
input()函数的使用格式:
<变量> = input(<提示信息字符串>)
用户输入的信息以字符串类型保存在<变量>中
TempStr = input(“请输入”) # TempStr保存用户输入的信息
以字符形式向控制台输出结果的函数
输出函数:将用户输入输出的函数
print()函数的基本使用格式:
print(<拟输出字符串或字符串变量>)
字符串类型的一对引号仅在程序内部使用,输出无引号
print("输入格式错误") # 向控制台输出 输入格式错误
评估函数:去掉参数最外侧引号并执行余下语句的函数
eval()函数的基本使用格式:
eval(<字符串或字符串变量>)
"温度转换"代码分析
#TempConvert.py
TempStr= input("请输入带有符号的温度值: ")
ifTempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1])- 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elifTempStr[-1] in ['C', 'c']:
F = 1.8*eval(TempStr[0:-1]) + 32 print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")

