python分支结构
程序结构程序三种结构顺序循环分支分支结构分支结构基本语法if 条件表达式语句一语句二语句三......条件表达式就是计算结果必须为布尔值的表达式表达式后面的冒号不能少注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级条件表达式结果为True执行if后面的缩进...
·
程序结构
- 程序三种结构
- 顺序
- 循环
- 分支
分支结构
-
分支结构基本语法
if 条件表达式 语句一 语句二 语句三 ......
-
条件表达式就是计算结果必须为布尔值的表达式
-
表达式后面的冒号不能少
-
注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级
-
条件表达式结果为True执行if后面的缩进的语句块
# if 语句联系
# 如果你们都给我钱,我就发财了
a = " "
# 字符串的真假:
# 只有空字符串为False,其余全为True
if a:
print("我就发财了")
print("哈哈")
print("日子还得过呀")
我就发财了
哈哈
日子还得过呀
# if联系二
age = 19
if age > 16:
print("喝酒去")
print("下次你请我")
喝酒去
下次你请我
双向分支
-
if…else…表达
-
语法结构:
if条件表达式: 语句一 语句二 ... else: 语句一 语句二 ...
# if 双向分支
# 如果你们都给我钱,我就发财了
a = " "
# 字符串的真假:
# 只有空字符串为False,其余全为True
if a:
print("我就发财了")
print("哈哈")
else:
print("emmmm")
print("继续吃土吧")
print("日子还得过呀")
我就发财了
哈哈
日子还得过呀
# input的作用的是
# 1. 在屏幕上输出括号内的字符串
# 2. 接收用户输入的内容并返回到程序
# 3. input返回的内容一定是字符串类型
# input负责接收用户输入并把内容返回给变量
gender = input("请输入您的性别")
#打印输入的内容
print(gender)
if gender == "man":
print("走,抽烟喝酒剃头")
print("一起玩儿去呀")
else:
print("你到底是个啥子呀")
print("对不起,我是男生")
请输入您的性别man
man
走,抽烟喝酒剃头
一起玩儿去呀
# 考试成绩判断
# 成绩由用户输入
# 90以上:输出优秀
# 80-90:良
# 70-80:中
# 60-70:平
# 60以下: 输出: 我没你这傻学生
# 输入成绩,需要用到input函数
# input输入的值全部是字符串类型
score = input("请输入成绩,必须是数字呀")
# 解决输入是字符串的问题
score = int(score)
if score >= 90:
print("你考得很好呀,小朋友")
if score >= 80 and score < 90:
print("凉凉")
if score >= 70 and score <70:
print("也行")
if score >= 60 and score <70:
print("就这么着吧")
if score < 60:
print("下次接着考")
请输入成绩,必须是数字呀1
下次接着考
多路分支
-
很多分支的情况,叫多路分支
if 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
else:
语句1
… … -
elif可以有好多个,根据实际情况
-
else可选
-
多路分支最多只会执行一种情况
if语句补充
- if语句可以嵌套使用,不推荐
- python没有switch语句
# score 存放学生的成绩
# 注意input的返回值类型
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("起开,我没你这傻学生")
请输入学生成绩:90
A
循环语句
- 重复执行某一固定的动作或者任务
- 分类
- for
- while
for循环
-
语法
for 变量 in 序列: 语句1 语句2 ...
# for循环案例
# 比如[1,2,3,4,5,6,7]
list_one = [1,2,3,4,5,6,7]
for num in list_one:
print(num)
print(num+100)
print(num+1000)
1
101
1001
2
102
1002
3
103
1003
4
104
1004
5
105
1005
6
106
1006
7
107
1007
# 打印学生列表姓名
# 如果是jingjing,那肯定是我的最爱呀
# 如果是别的学生,那要冷酷的拒绝他
stu_list = ['王大眼','李美丽','王晓静']
for stu in stu_list:
if stu == "王晓静":
print("晓静你去了哪里")
else:
print("对不起同学,饶了老衲吧")
对不起同学,饶了老衲吧
对不起同学,饶了老衲吧
晓静你去了哪里
for-else语句
- for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
- else语句是可选的
# for-else语句
# 打印列表中的同学
# 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了
stu_list = ['王大眼','李美丽','王晓静']
for stu in stu_list:
if stu == "王晓静":
print("晓静你去了哪里")
else:
print("对不起同学,饶了老衲吧")
else:
print("不会再爱了")
对不起同学,饶了老衲吧
对不起同学,饶了老衲吧
晓静你去了哪里
不会再爱了
break,continue,pass
- break:无条件结束整个循环,简称循环猝死
- continue:继续
- pass:只是占位符号,代表这句话啥也不干,没有跳过功能
# 确定一个数字队列中是否包含数字7
# 确定是否包含,只要找到一个即可确定,不需要再继续往下找了,所以使用break
dig_list = [3,4,6,7,54,3,23,2,4,7]
for dig in dig_list:
if dig == 7:
print("哈哈哈,找到了")
break
else:
print(dig)
3
4
6
哈哈哈,找到了
# continue语句练习
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
dig_list = [1,2,3,4,5,6,7,8,9,10]
'''
# continue案例1
for dig in dig_list:
if dig % 2 == 0:
print(dig)
print("哈哈,你是个双的")
else:
continue
'''
# 此段代码跟上面代码等价
for dig in dig_list:
if dig % 2 == 1:
continue
print(dig)
print("哈哈,你是个双的")
2
哈哈,你是个双的
4
哈哈,你是个双的
6
哈哈,你是个双的
8
哈哈,你是个双的
10
哈哈,你是个双的
# pass案例1
age = 19
if age > 19:
pass
else:
print("你还小")
你还小
# pass案例2
ages = [2,23,43,54,65,2]
for age in ages:
pass
print(age)
2
23
43
54
65
2
range函数
- 生成有序数列
- 生成数字队列可以定制
# range案例1
# 生成一个从1到100的数字序列
# range的生成序列的两个数字是左包括右边不包括
dig_list = range(1,101)
for dig in dig_list:
print(dig)
# 一般在python中,连个表示范围的数字都是左包括右边不包括,randint函数是个特例
# range函数在python2.x和python3.x中有严重区别
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# range3
# 打印从1到9的数字
for i in range(1,10):
print(i)
1
2
3
4
5
6
7
8
9
while循环
-
一个循环语句
-
表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定在某个条件成立的情况下就循环
-
while语法
while 条件表达式: 语句块 #另外一种表达方法 while 条件表达式: 语句块1 else: 语句块2
# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本金会翻倍
benqian = 10000
year = 0 # 存放需要翻本的年数
while benqian < 20000:
benqian = benqian * (1 + 0.067)
year += 1 # year = year + 1
print(year)
# 年利率案例2
# 本案例中循环体没有被执行
while benqian < 20000:
benqian = benqian * (1 + 0.067)
year += 1 # year = year + 1
else:
print(year)
11
11
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)