程序结构
- 程序三种结构
- 顺序
- 循环
- 分支
分支结构
-
基本语法if语句
if 条件表达式: 语句1 语句2 语句3 ......
-
条件表达式就是计算结果必须为布尔值的表达式
-
表达式后的冒号不可少
-
注意if后面出现的语句,如果属于if语句块,则必须属于同一个缩进等级
-
如果表达式结果为true,则执行缩进语句块
# if 语句练习1
a = '都买'
#字符串真假
#字符串有内容就是true(“ ”是包含空字符,属于有内容)
if a:
print("发财")
print('日子还得过')
发财
日子还得过
# if 语句练习1
age = 19
if age>18:
print("喝酒去")
print('下次请我')
喝酒去
下次请我
双向分支
-
语法结构
if 条件表达式 : 语句1 语句2 ...... else : 语句1 语句2 ......
# input作用
#1. 在屏幕上输出括号内的字符串
#2. 接受用户输入的内容并返回到程序
#3. input 返回的内容一定是字符串类型
gender = input("请输入您的性别 男:man ; 女:woman")
# 打印输入的内容
print(gender)
if gender == "man":
print("抽烟喝酒剃头")
else :
print("我是女的")
请输入您的性别 男:man ; 女:womanman
man
抽烟喝酒剃头
# 考试成绩判断
# 成绩由用户输入
# 90以上: 输出优秀
# 80-90: 良
# 70-80: 中
# 60-70: 平
# 60以下: 我没你这学生
grade = input("输入学生成绩:")
grade = int(grade)
if grade>=90:
print("优秀")
else:
if grade>=80:
print("良")
else:
if grade>=70:
print("中")
else:
if grade>=60:
print("平")
else:
print("我没你这学生")
输入学生成绩:60
平
# 考试成绩判断
# 成绩由用户输入
# 90以上: 输出优秀
# 80-90: 良
# 70-80: 中
# 60-70: 平
# 60以下: 我没你这学生
score = input("输入学生成绩:")
score = int(score)
if score>=90:
print("优秀")
if score>=80 and score<90:
print("良")
if score>=70 and score<80:
print("中")
if score>=60 and score<70:
print("平")
# else:
# print("我没你这学生")
if score<60:
print("我没你这学生")
输入学生成绩:60
平
多路分支
-语法结构
if 条件表达式:
语句1
.....
elif 条件表达式:
语句1
......
elif 条件表达式:
语句1
......
else:
语句1
......
- elif可以有好多个
- else可选
- 多路分支最多只会执行一种情况
score = input("输入学生成绩:")
score = int(score)
if score>=90:
print("优秀")
elif score>=80:
print("良")
elif score>=70:
print("中")
elif score>=60:
print("平")
# else:
# print("我没你这学生")
else:
print("我没你这学生")
输入学生成绩:0
我没你这学生
循环语句
- 重复执行某一固定动作或者任务
- 分类
- for
- while
for循环
-
语法
for 变量 in 序列: 语句1 语句2 ......
list_one = [1, 2, 3, 4, 5, 6, 7]
for number in list_one:
print(number)
print(number + 100)
print(number + 1000)
1
101
1001
2
102
1002
3
103
1003
4
104
1004
5
105
1005
6
106
1006
7
107
1007
# 打印学生列表姓名
# 如果是Yuanshuo , 我的最爱
# 如果是别的学生 , 冷酷的拒绝他
stu_list = ['Yuanshuo' , 'Kaikai' , 'Junjun']
for stu in stu_list:
if stu == "Yuanshuo":
print("最爱")
else:
print("你是好人")
最爱
你是好人
你是好人
for-else语句
- for循环结束时,有时候需要执行一些收尾工作,此时需要使用else语句
- else语句是可选
# 打印列表中的循环
# 如果没有在列表中, 或者列表结束了, 我们需打印提示语句, 表示不再爱了
stu_list = ['Yuanshuo' , 'Kaikai' , 'Junjun']
for stu in stu_list:
if stu == "Yuanshuo":
print("最爱")
else:
print("你是好人")
else:
print("不会再爱了")
最爱
你是好人
你是好人
不会再爱了
break, continue, pass
- break : 无条件结束整个循环, 简称循环猝死
- continue : 继续
- pass : 只是占位符, 代表这句话啥也不干, 不跳过功能
# break 练习
# 确定一个数字队列中是否包含数字7
# 确定是否包含, 只要找到一个即可确定, 不需要继续再向下找了, 所以使用break
dig_list = [3, 4, 6, 7, 78, 23, 45, 0, 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]
for dig in dig_list:
if dig % 2 == 0:
print(dig)
else:
continue
2
4
6
8
10
# 此段代码与上述代码等价
dig_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for dig in dig_list:
if dig % 2 == 1:
continue
print(dig)
2
4
6
8
10
# pass案例1
age = 19
if age > 19:
pass
else:
print('你还小')
你还小
# pass案例2
dig_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for dig in dig_list:
pass
print(dig)
1
2
3
4
5
6
7
8
9
10
range 函数
- 生成有序数列
- 生成数字队列可以定制
# range案例1
# 生成一个从 1 到 100 的序列
# 左包括右不包括
dig_list = range(1,100)
for dig in dig_list:
print(dig)
#
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
# range案例2
# 打印 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% , 本利是每年翻滚, 则多少年后本钱会翻倍
mon = 100000
year = 0 #存放需要翻本的年数
while mon < 200000:
mon = mon * (1 + 0.067)
year = year + 1
print(year)
11
mon = 100000
year = 0 #存放需要翻本的年数
while mon < 200000:
mon = mon * (1 + 0.067)
year = year + 1
else:
print(year)
11
网友评论