当前位置:
文档之家› 源代码--数据结构与算法(Python版)chap4 三大结构
源代码--数据结构与算法(Python版)chap4 三大结构
14
(2)标准输出
在Python2.x中使用的是print语句输出 在Python3.x中使用的是print()函数输出
print()函数的一般形式为: print([输出项1,输出项2,....,输出项n][,sep= 分隔符][,end=结束符])
说明:输出项之间用逗号分隔,没有输出项时输 出一个空行。sep表示输出时候各个输出项之间 的分隔符,end表示输出时的结束符。
13
input()
如果要输入数值类型数据,可以使用类型转 换函数将字符串转换为数值。
>>> x=int(input(“please input your input:”)) please input your input:5 >>>print(type(x)) <class'int'>
说明:x接受的是字符串5,通过int()函数将 字符串转换为整型。
5
1、顺序结构
流程图
A
A
B
B
6
N-S图
2、选择结构
分支选择结构
7
当型循环
3、循环结构
直到型循环 a
程序模块
条件 成立
不成立
b (a)
程序模块 直到条件不成立时为止
(b)
8
三种基本结构的特点
共同特点:单入口、单出口 三种结构之间可以是顺序关系、平行关系,
也可以互相嵌套,通过结构之间的复合形 成复杂的关系。
38
选择结构程序举例
例:输入一个整数,判断它是否为水仙花数。所谓水仙花 数,是指这样的一些三位整数:各位数字的立方和等于 该数本身,例如153=13+53+33,因此153是水仙花数。
4 空格在语句中间是没有限制的,比如print ( 1 )都合法,还 是建议就是用print(1)。
27
单分支选择结构
1.简单的if语句
形式:if 表达式: 语句
T exp F A
yes exp no A
28
单分支选择结构
例:将小写字母转换为大写字母 c=input("Please input character:") if c>='a' and c<='z':
第4章 三大结构
流程图的三种基本结构
a
a
a
A
Y pN
NP
Y
B
A
B
A
b
顺序结构
b
b
选择结构
先执行A, 若P为真,则执行A, 若P为真,则执行A,
再执行B.
否则执行B.
否则跳过A.
2
流程图的三种基本结构
a
pN Y A
b
当型循环结构
当P为真,反复执行A, P为假时出循环。
a
A
pY N
b
直到型循环
先执行A,再判断, 若P为真,反复执行A, P为假时出循环。
Y y=x;
输入x
x<1
N
Y 1<=x and x<10N
y=2x+1 y=3x+1
x=int(input("please input x:")) 输出函数值y if x<1:
y=x
elif x<10:
y=2*x+1
else:
y=3*x+1
print("The result is %d"%y)
35
选择结构嵌套
Y x>z N
y,z=z,y
交换x,z
print (x,y,z)
Y y>z N
思考:
交换y,z
何如编果写要?将三个数从大到小输出,输程出序x该,y如,x的值
30
双分支选择结构
1. 语句的一般语法格式:if---else
形式: if 表达式: 语句A
else: 语句B
T exp F
A
B
yes exp no
if exp1 :
选择体1 elif exp2:
选择体2 …… elif expn:
选择体n
exp1 T
选择1
F exp2 T
选择2
F
exp3 T 选择3
F… … 选择n+1
else:
选择体n+1
34
例: 编写程序计算函数值
x (x < 1) y = 2x+1 (1 <= x < 10)
3x+1 (x >= 10)
>>>print('%02x'%10) 0a >>>print('%04X'%10) 000A >>>print('%.2e'%1.2888)
1.29e+00
20
顺序程序计举程序例运行结果如下:
【例1】从键盘输入请一输个入3位一整个数3位,整分数离:2出3它5 的个位、十 位和百位并分别在屏百幕位输=2出,。十位=3,个位=5
19
格式化输出:
>>>year = 2017
>>>month = 1
>>>day = 28
>> print('%04d-%02d-%02d'%(year,month,day))
2017-01-28
>>>value = 8.123
>> print('%06.2f'%value)
008.12 >>>print('%d'%10) 10 >>>print('%o'%10) 12
1 d或i 十进制格式
2o
八进制格式
3 x、X 十六进制格式
4c 5s 6f 7 e或E
8 g或G
一个字符格式 字符串格式 实数格式
指数格式 e和f中较短一种格式
18
2.附加格式说明符
m :域宽,十进制整数,用以描述输出数据所 占宽度。 n: 附加域宽,十进制整数,用于指定实型数据 小数部分的输出位数。 —:输出数据左对齐,默认为右对齐 +:输出正数时,也以+号开头 #:作为o,x的前缀时,输出结果前面加上前导 符号0,,0x
练习2:输入一个大写字母,求出该字母的前 驱和后继字母。
26
几点注意:
1 Python支持每行多句代码(使用分号),也支持一句代码多 行(使用\连接),每行一句无烦恼!
2 Python代码中,每行代码之前的空格是非常有讲究的,具有 分割含义!
3 空格用来分割,Python中基本都是使用4个空格,而坚决不 要使用一个空格或者Tab键来缩进!
23
小写字母转换为大写字母
注意: (1)ord()函数可以将字符转换为相应的十进制数,chr()函数可 以将十进制数转换为相应的字符;
(2)小写字母比对应大写字母的十进制数大32。
i=input('请输入一个小写字母:') d1=ord(i) d2=ord(i)-32 o=chr(d2) print('对应的大写字母是:',o)
1.字符串格式化% 格式控制字符串%(输出项1,输出项2,...输出项) (1)常规字符:包括可显示的字符和用转义字符表示 的字符。 (2)格式控制符:以%开头的一个或多个字符,以说 明输出数据的类型、形式、长度、小数位数等。 例如: print(“sum=%d”%x)
17
print()格式化说明
c=ord(c)-32 print("%c\n"%c)
思考: 若将大写字母转换为小写字母.
29
例: 输入三个整数x,y,z,把这三个数由小到大输出
x,y,z=eval(input(‘请输入x、y、z:’)) 输入x,y,z
if x>y: x,y=y,x
Y x>y N
if x>z:
交换x,y
x,z=z,x if y>z:
min>c N
Y min=c
输出min的值
N-S结构流程图
输出min的值
结束
11
数据的输入和输出 (Input and Output)
一般一个程序分为三步进行:输入原始数据、 进行计算处理和输出运算结果 。 (1)标准输入 input()
input( [提示字符串] )
12
input()
在Python3.x中,仅保留了input()函数。 input()函数接收任意输入,将所有输入默认 为字符串处理。
>>>x=input("Please enter your input: ") Please enter your input: 5 >>>print(type(x)) <class 'str'> 说明:内置函数type用来返回变量类型。当输入数值5赋值给变 量x之后,x的类型为字符串类型。 >>>x=input ("Please enter your input:") Please enter your input: (1,2,3) >>>print(type(x)) <class 'str'>
A
B
31
例:求输入的两个整数的最小值
x,y=eval(input(‘请输入x、y:’)) if a<b: