一、程序的组织结构
任何简单的或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成
二、顺序结构
程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束
三、对象的布尔值
Python一切皆对象,所有对象都有一个布尔值
- 获取对象的布尔值
- 使用内置函数bool()
- 以下对象布尔值为False
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
print ( bool ( False )) print ( bool ( 0 )) print ( bool ( 0.0 )) print ( bool ( None )) print ( bool ('')) print ( bool ("")) print ( bool ([])) #空列表 print ( bool ( list ())) #空列表 print ( bool (())) #空元组 print ( bool ({})) #空字典 print ( bool ( dict ())) #空字典 print ( bool ( set ())) #空集合 print ( '------------其他对象的布尔值均为True-----------------' ) print ( bool ( 18 )) print ( bool ( "0" )) |
输出:
False
False
False
False
False
False
False
False
False
False
False
False
------------其他对象的布尔值均为True-----------------
True
True
四、分支结构
选择结构
程序根据判断条件的布尔值选择性地执行部分代码
明确的让计算机直到在什么条件下,该去做什么
单分支结构
中文语义:如果…就…
如果下雨,就带伞
语法结构:
if 条件表达式:
条件执行体
1
2
3
4
|
#判断余额是否充足 if money > = s: money = money - s print ( '取款成功,余额为:' ,money) |
输入100,输出:
请输入取款金额:100
取款成功,余额为: 900
输入1200, 不继续执行
双分支结构
中文语义:
如果…不满足…就…
如果中奖就领奖,没中奖就不领
语法结构:
if 条件表达式:
条件执行体1
else:
条件执行体2
1
2
3
4
5
6
7
|
#双分支结构if...else... 二选一执行 num = int ( input ( '请输入一个整数:' )) #条件判断 if num % 2 = = 0 : print (num, '是偶数' ) else : print (num, '是奇数' ) |
输入9,输出:
请输入一个整数:9
9 是奇数
输入10,输出:
请输入一个整数:10
10 是偶数
多分支结构
中文语义
成绩是90以上吗? 不是
成绩是80到90分之间吗?不是
成绩是70到80分之间吗?不是
成绩是60到70分之间吗?不是
成绩是60分以下吗?是
语法结构:
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式N:
条件执行体N
[else:]
条件执行体N+1
方括号表示可写可不写
代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
''' 多分支结构,多选一执行 90-100 A 80-89 B 70-79 C 60-69 D 0 -59 E 小于0或者大于100为非法数值 ''' score = int ( input ( '请输入一个分数:' )) #判断 if score > = 90 and score < = 100 : print ( 'A级' ) elif score > = 80 and score < = 89 : print ( 'B级' ) elif score > = 70 and score < = 79 : print ( 'C级' ) elif score > = 60 and score < = 69 : print ( 'D级' ) elif score > = 0 and score < = 59 : print ( 'E级' ) else : print ( '对不起,成绩有误,不在成绩的有效范围内' ) |
请输入一个分数:99
A级
请输入一个分数:66
D级
请输入一个分数:122
对不起,成绩有误,不在成绩的有效范围内
写法改造
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
''' 多分支结构,多选一执行 90-100 A 80-89 B 70-79 C 60-69 D 0 -59 E 小于0或者大于100为非法数值 ''' score = int ( input ( '请输入一个分数:' )) #判断 if 90 < = score < = 100 : print ( 'A级' ) elif 80 < = score < = 89 : print ( 'B级' ) elif 70 < = score < = 79 : print ( 'C级' ) elif 60 < = score < = 69 : print ( 'D级' ) elif 0 < = score < = 59 : print ( 'E级' ) else : print ( '对不起,成绩有误,不在成绩的有效范围内' ) |
输出:
请输入一个分数:100
A级
嵌套if
语法结构:
if 条件表达式1:
if 内层条件表达式:
内层条件执行体1
else:
内层条件执行体2
else:
条件执行体
代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
''' 会员 >= 200 8折 >= 100 9折 非会员 >= 9.5折 不打折 ''' answer = input ( '您是会员吗?y/n' ) money = float ( input ( '请输入您的购物金额:' )) #外层判断是否是会员 if answer = = 'y' : if money> = 200 : print ( '打8折,付款金额为:' ,money * 0.8 ) elif money> = 100 : print ( '打9折,付款金额为:' ,money * 0.9 ) else : print ( '不打折,付款金额为:' ,money) #虽然是会员,但金额太小不打折 else : #非会员 if money > = 200 : print ( '打9.5折,付款金额为:' ,money * 0.95 ) else : print ( '不打折,付款金额为:' ,money) |
输出:
您是会员吗?y/ny
请输入您的购物金额:2000
打8折,付款金额为: 1600.0
您是会员吗?y/ny
请输入您的购物金额:100
打9折,付款金额为: 90.0
五、ass空语句
pass语句
1
2
3
4
5
6
7
|
#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方 answer = input ( '您是会员吗?y/n' ) #判断是否为会员 if answer = = 'y' : pass else : pass |
先占位,后补全
利用对象的布尔值
1
2
3
4
5
|
age = int ( input ( '请输入您的年龄:' )) if age: #不用判读,直接利用对象的布尔值 print (age) else : print ( '年龄为:' ,age) |
输出:
请输入您的年龄:18
18
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/qq_36068496/article/details/122953901