程序设计基本方法
-
计算机与程序设计
-
编译和解释
-
程序的基本编写方法
-
计算机编程
计算机与程序设计
计算机是根据指令操作数据的设备
- 功能性
对数据的操作,表现为数据计算、输出输出处理和结果存储等
- 可编程性
根据一系列指令自动地、可预测地、准确地完成操作者的意图
计算机的发展参照摩尔定律,表现为指数方式
- 计算机硬件所依赖的集成电路规模参照摩尔定律发展
- 计算机运行速度因此也接近几何级数快速增长
- 计算机高效支撑的各类运算功能不断丰富发展
计算机发展历史上最重要的预测法则
- Intel公司创始人之一戈登·摩尔在1965年提出
- 单位面积集成电路上可容纳晶体管的数量约每两年翻一番
- CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律
计算机的发展
计算机的发展参照摩尔定律,表现为指数方式
- 当今世界,唯一长达50年有效且按照指数发展的技术领域
- 计算机深刻改变人类社会,甚至可能改变人类本身
- 可预见的未来30年,摩尔定律还将持续有效
程序设计
程序设计是计算机可编程性的体现
- 程序设计,亦称编程,深度应用计算机的主要手段
- 程序设计已经成为当今社会需求量最大的职业技能之一
- 很多岗位都将被计算机程序接管,程序设计将是生存技能
程序设计语言是一种用于交互(交流)的人造语言
- 程序设计语言,亦称编程语言,程序设计的具体实现方式
- 编程语言相比自然语言更简单、更严谨、更精确
- 编程语言主要用于人类和计算机之间的交互
编程语言种类很多,但生命力强劲的却不多
- 编程语言有超过600种,绝大部分都不再被使用
- C语言诞生于1972年,它是第一个被广泛使用的编程语言
- Python语言诞生于1990年,它是最流行最好用的编程语言
编译和解释
编程语言的执行方式
计算机执行源程序的两种方式:编译和解释
- 源代码:采用某种编程语言编写的计算机程序,人类可读
例如:result = 2 + 3
- 目标代码:计算机可直接执行,人类不可读 (专家除外)
例如:11010010 00111011
将源代码一次性转换成目标代码的过程
将源代码逐条转换成目标代码同时逐条运行的过程
执行编译过程的程序叫作编译器
执行解释过程的程序叫作解释器
- 编译:一次性翻译,之后不再需要源代码(类似英文翻译)
- 解释:每次程序运行时随翻译随执行(类似实时的同声传译)
根据执行方式不同,编程语言分为两类
- 静态语言:使用编译执行的编程语言
C/C++语言、Java语言
- 脚本语言:使用解释执行的编程语言
Python语言、JavaScript语言、PHP语言
执行方式不同,优势各有不同
- 静态语言:编译器一次性生成目标代码,优化更充分
程序运行速度更快
- 脚本语言:执行程序时需要源代码,维护更灵活
源代码在维护灵活、跨多个操作系统平台
程序的基本编写方法
IPO
- I:Input 输入,程序的输入
- O:Output 输出,程序的输出
- P:Process 处理,程序的主要逻辑
输入
- 程序的输入
文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等
- 输入是一个程序的开始
输出
- 程序的输出
控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等
- 输出是程序展示运算结果的方式
处理
- 处理是程序对输入数据进行计算产生输出结果的过程
- 处理方法统称为算法,它是程序最重要的部分
- 算法是一个程序的灵魂
一个待解决问题中,可以用程序辅助完成的部分
- 计算机只能解决计算问题,即问题的计算部分
- 一个问题可能有多种角度理解,产生不同的计算部分
- 问题的计算部分一般都有输入、处理和输出过程
6个步骤 (1-3)
- 分析问题:分析问题的计算部分,想清楚
- 划分边界:划分问题的功能边界,规划IPO
- 设计算法:设计问题的求解算法,关注算法
6个步骤 (4-6)
- 编写程序:编写问题的计算程序,编程序
- 调试测试:调试程序使正确运行,运行调试
- 升级维护:适应问题的升级维护,更新完善
3个精简步骤
-
- 确定IPO:明确计算部分及功能边界
- 编写程序:将计算求解的设计变成现实
- 调试程序:确保程序按照正确逻辑能够正确运行
计算机编程
Q:为什么要学习计算机编程?
A:因为“编程是件很有趣的事儿”!
编程能够训练思维
- 编程体现了一种抽象交互关系、自动化执行的思维模式
- 计算思维:区别逻辑思维和实证思维的第三种思维模式
- 能够促进人类思考,增进观察力和深化对交互关系的理解
编程能够增进认识
- 编程不单纯是求解计算问题
- 不仅要思考解决方法,还要思考用户体验、执行效率等
- 能够帮助程序员加深用户行为以及社会和文化认识
编程能够带来乐趣
- 编程能够提供展示自身思想和能力的舞台
- 让世界增加新的颜色、让自己变得更酷、提升心理满足感
- 在信息空间里思考创新、将创新变为现实
编程能够提高效率
- 能够更好地利用计算机解决问题
- 显著提高工作、生活和学习效率
- 为个人理想实现提供一种借助计算机的高效手段
编程带来就业机会
- 程序员是信息时代最重要的工作岗位之一
- 国内外对程序员岗位的缺口都在百万以上规模
- 计算机已经渗透于各个行业, 就业前景非常广阔
Q:编程很难学吗? A:掌握方法就很容易!
- 首先,掌握编程语言的语法,熟悉基本概念和逻辑
- 其次,结合计算问题思考程序结构,会使用编程套路
- 最后,参照案例多练习多实践
Python开发环境配置
- Python语言概述
- Python语言Windows系统开发环境
- Python语言Mac系统开发环境
- Python语言Linux系统开发环境
- Python语言Web开发环境
- Python程序编写与运行
Python语言概述
Python [`paiθən],译为“蟒蛇”
Python语言拥有者是Python Software Foundation(PSF)
PSF是非盈利组织,致力于保护Python语言开放、开源和发展
Python语言的诞生
Guido van Rossum
Python语言创立者
2002年,Python 2.x
2008年,Python 3.x
Python语言是一个由编程牛人领导设计并开发的编程语言
Python语言是一个有开放、开源精神的编程语言
Python语言应用于火星探测、搜索引擎、引力波分析等众多领域
Python语言Windows系统开发环境
Python语言Mac系统开发环境
Python语言Linux系统开发环境
Python语言Web开发环境
Python程序编写与运行
Python的两种编程方式
交互式和文件式
- 交互式:对每个输入语句即时运行结果,适合语法练习
- 文件式:批量执行一组语句并运行结果,编程的主要方式
实例1: 圆面积的计算
根据半径r计算圆面积
>>> r = 25
>>> area = 3.1415 * r * r
>>> print(area) 1963.4375000000002
>>> print(" {:.2f}F".format(area))
1963.44
交互式
实例1: 圆面积的计算
r = 25
根据半径r计算圆面积
输出结果如下:
area = 3.1415 * r * r
print(area)
print(" {:.2f}F".format(area))
1963.4375000000002
1963.44
保存为CalCircle.py文件并运行 文件式
实例2: 同切圆绘制
import turtle
绘制多个同切圆
turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle.circle(80) turtle.circle(160)
保存为TangentCirclesDraw.py文件并运行 文件式
实例2: 同切圆绘制
绘制多个同切圆
>>> import turtle
>>> turtle.pensize(2)
>>> turtle.circle(10)
>>> turtle.circle(40)
>>> turtle.circle(80)
>>> turtle.circle(160)
交互式
实例3: 五角星绘制
绘制一个五角星
>>> from turtle import *
>>> color('red', 'red')
>>> begin_fill()
>>> for i in range(5): fd(200) rt(144)
>>> end_fill()
>>> 交互式
实例3: 五角星绘制
绘制一个五角星
from turtle import * color('red', 'red') begin_fill()
for i in range(5): fd(200) rt(144)
end_fill()
done()
保存为StarDraw.py文件并运行 文件式
实例1: 温度转换
"温度转换"问题分析
温度转换
温度刻画的两种不同体系
- 摄氏度:中国等世界大多数国家使用
以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
- 华氏度:美国、英国等国家使用
以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画
需求分析
两种温度体系的转换
- 华氏度转换为摄氏度
问题分析
该问题中计算部分的理解和确定
- 理解1:直接将温度值进行转换
- 理解2:将温度信息发布的声音或图像形式进行理解和转换
- 理解3:监控温度信息发布渠道,实时获取并转换温度值
问题分析
分析问题
- 采用 理解1:直接将温度值进行转换
温度数值需要标明温度体系,即摄氏度或华氏度转换后也需要给出温度体系
问题分析
划分边界
- 输入:带华氏或摄氏标志的温度值
- 处理:根据温度标志选择适当的温度转换算法
- 输出:带摄氏或华氏标志的温度值
问题分析
输入输出格式设计
标识放在温度最后,F表示华氏度,C表示摄氏度
82F表示华氏82度,28C表示摄氏28度
问题分析
设计算法
根据华氏和摄氏温度定义,利用转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
其中, C表示摄氏温度, F表示华氏温度
问题分析清楚,可以开始编程啦!
#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文件
运行效果
TempStr = input("请输入带有符号的温度值: ")#TempConvert.py"温度转换"举一反三
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语言
- 参考框架结构、逐行分析、逐词理解
举一反三
输入输出的改变
- 温度数值与温度标识之间关系的设计可以改变
- 标识改变放在温度数值之前:C82, F28
- 标识字符改变为多个字符:82Ce、28Fa
举一反三
计算问题的扩展
- 温度转换问题是各类转换问题的代表性问题
- 货币转换、长度转换、重量转换、面积转换…
- 问题不同,但程序代码相似
Python程序语法元素分析
- 程序的格式框架
- Python程序的输入输出
- "温度转换"代码分析
程序的格式框架
#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
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
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("输入格式错误")
DARTS = 1000
hits = 0.0 clock()
for i in range(1, DARTS):
x, y = random(), random() dist = sqrt(x**2 + y**2) if dist <= 1.0:
hits = hits + 1 pi = 4 * (hits/DARTS)
print("Pi的值是 {:.2f}F".format(pi))
单层缩进 多层缩进
缩进
缩进表达程序的格式框架
- 严格明确:缩进是语法的一部分,缩进不正确程序运行错误
- 所属关系:表达代码间包含和层次关系的唯一手段
- 长度一致:程序内一致即可,一般用4个空格或1个TAB
#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
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
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("输入格式错误")
变量:程序中用于保存和表示数据的占位符号
变量
用来保存和表示数据的占位符号
- 变量采用标识符(名字) 来表示,关联标识符的过程叫命名
TempStr是变量名字
- 可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
TempStr = "82F" #向变量TempStr赋值"82F"
命名
关联标识符的过程
- 命名规则: 大小写字母、数字、下划线和汉字等字符及组合
如: TempStr, Python_Great, 这是门Python好课
- 注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
Python和python是不同变量,123Python是不合法的
保留字
被编程语言内部定义并保留使用的标识符
- Python语言有33个保留字(也叫关键字)
if, elif, else, in
- 保留字是编程语言的基本单词,大小写敏感
if 是保留字,If 是变量
保留字
and |
elif |
import |
raise |
global |
as |
else |
in |
return |
nonlocal |
assert |
except |
is |
try |
True |
break |
finally |
lambda |
while |
False |
class |
for |
not |
with |
None |
continue |
from |
or |
yield |
|
def |
if |
pass |
del |
|
#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
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("输入格式错误")
数据类型:字符串、整数、浮点数、列表
数据类型
10,011,101 该如何解释呢?
- 这是一个二进制数字 或者 十进制数字
作为二进制数字,10,011,101的值是十进制157
- 这是一段文本 或者 用逗号,分隔的3个数字
作为一段文本,逗号是文本中的一部分,一共包含10个字符
数据类型
供计算机程序理解的数据形式
- 程序设计语言不允许存在语法歧义,需要定义数据的形式
需要给10,011,101关联一种计算机可以理解的形式
- 程序设计语言通过一定方式向计算机表达数据的形式
"123"表示文本字符串123,123则表示数字123
数据类型
10,011,101
- 整数类型: 10011101
- 字符串类型: "10,011,101"
- 列表类型: [10, 011, 101]
#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("输入格式错误")
字符串:由0个或多个字符组成的有序字符序列
字符串
由0个或多个字符组成的有序字符序列
- 字符串由一对单引号或一对双引号表示
"请输入带有符号的温度值: "或者 'C'
- 字符串是字符的有序序列,可以对其中的字符进行索引
"请" 是 "请输入带有符号的温度值: " 的第0个字符
字符串的序号
正向递增序号 和 反向递减序号
反向递减序号
使用[ ]获取字符串中一个或多个字符字符串的使用
- 索引:返回字符串中单个字符 <字符串>[M]
"请输入带有符号的温度值: "[0] 或者 TempStr[-1]
- 切片:返回字符串中一段字符子串 <字符串>[M: N]
"请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]
#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("输入格式错误")
数字类型:整数和浮点数
数字类型
整数和浮点数都是数字类型
- 整数:数学中的整数
32 或者 -89
- 浮点数:数学中的实数,带有小数部分
1.8 或者 -1.8 或者 -1.0
#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("输入格式错误")
列表类型:由0个或多个数据组成的有序序列
列表类型
由0个或多个数据组成的有序序列
- 列表使用[ ]表示,采用逗号(,)分隔各元素
['F','f']表示两个元素'F'和'f'
- 使用保留字 in 判断一个元素是否在列表中
TempStr[-1] in ['C','c']判断前者是否与列表中某个元素相同
#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
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("输入格式错误")
赋值语句:由赋值符号构成的一行代码
赋值语句
由赋值符号构成的一行代码
- 赋值语句用来给变量赋予新的数据值
C=(eval(TempStr[0:-1])-32)/1.8 #右侧运算结果赋给变量C
- 赋值语句右侧的数据类型同时作用于变量
TempStr=input("") #input()返回一个字符串,TempStr也是字符串
#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("输入格式错误")
分支语句:由判断条件决定程序运行方向的语句
分支语句
由判断条件决定程序运行方向的语句
- 使用保留字if elif else构成条件判断的分支结构
if TempStr[-1] in ['F','f']:#如果条件为True则执行冒号后语句
- 每个保留字所在行最后存在一个冒号(:),语法的一部分
冒号及后续缩进用来表示后续语句与条件的所属关系
#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("输入格式错误")
函数:根据输入参数产生不同输出的功能过程
函数
根据输入参数产生不同输出的功能过程
- 类似数学中的函数, y = f(x)
print("输入格式错误") #打印输出 "输入格式错误"
- 函数采用 <函数名>(<参数>) 方式使用
eval(TempStr[0:-1]) # TempStr[0:-1]是参数
#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("输入格式错误")
赋值语句 分支语句 函数
Python程序的输入输出
#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("输入格式错误")
input():从控制台获得用户输入的函数
输入函数 input()
从控制台获得用户输入的函数
- input()函数的使用格式:
<变量> = input(<提示信息字符串>)
- 用户输入的信息以字符串类型保存在<变量>中
TempStr = input(“请输入”) # TempStr保存用户输入的信息
#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("输入格式错误")
print():以字符形式向控制台输出结果的函数
输出函数 print()
以字符形式向控制台输出结果的函数
- print()函数的基本使用格式:
print(<拟输出字符串或字符串变量>)
- 字符串类型的一对引号仅在程序内部使用,输出无引号
print("输入格式错误") # 向控制台输出 输入格式错误
输出函数 print()
以字符形式向控制台输出结果的函数
- print()函数的格式化:
print("转换后的温度是{:.2f}C".format(C))
{ }表示槽,后续变量填充到槽中
{ :.2f }表示将变量C填充到这个位置时取小数点后2位
输出函数 print()
以字符形式向控制台输出结果的函数
print("转换后的温度是{:.2f}C".format(C))
如果C的值是 123.456789,则输出结果为:
转换后的温度是123.45C
#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("输入格式错误")
eval():去掉参数最外侧引号并执行余下语句的函数
评估函数 eval()
去掉参数最外侧引号并执行余下语句的函数
- eval()函数的基本使用格式:
eval(<字符串或字符串变量>)
>>> eval("1") 1
>>> eval("1+2")
3
评估函数 eval()
去掉参数最外侧引号并执行余下语句的函数
如果TempStr[0:-1]值是"12.3",输出是:
12.3
#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("输入格式错误")
input() print() eval()
"温度转换"代码分析
#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("输入格式错误")
“温度转换”实例代码逐行分析
Python程序语法元素分析
- 缩进、注释、命名、变量、保留字
- 数据类型、字符串、 整数、浮点数、列表
- 赋值语句、分支语句、函数
- input()、print()、eval()、 print()格式化