基本概念
- 三大结构可分为:顺序、分支、循环。
- 顺序很好理解,就是按照代码的前后,上下顺序进行逻辑控制。本节主要将分支语句与循环语句。
分支语句
基本语法
if 条件表达式:
语句1
语句2
语句3
- 注意
- 条件表达式的计算结果必须为布尔值;
- 表达式后面的冒号不能少;
- if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级;
- 条件表达式结果为True,则执行if后面的缩进的语句块;
- 示例一
age = 17
if age < 18:
print("去叫家长吧,孩纸")
print("我们不带你玩")
print("滚球的")
去叫家长吧,孩纸
我们不带你玩
滚球的
age = 19
if age < 18:
print("去叫家长吧,孩纸")
print("我们不带你玩")
print("滚球的")
print("开始上车喽,老司机们")
我们不带你玩
滚球的
开始上车喽,老司机们
双向分支
if 条件表达式:
语句1
语句2
...
else:
语句1
语句2
...
- 双向分支有两个分支,当程序执行到
if ... else...
语句的时候,一定会执行 if 或 else 中的一个,也仅执行一个。
- 缩进问题,if 和 else一个层级,其余语句一个层级。
- 示例一
gender = input("请输入性别:")
print("你输入的性别是:{0}".format(gender))
if gender == "nan":
print("来,我们纪念一下今天吧,代码敲十遍")
else:
print("发糖喽发糖喽")
print("你是女生,特殊照顾喽")
print("开始上课喽")
请输入性别:aklalk
你输入的性别是:aklalk
发糖喽发糖喽
你是女生,特殊照顾喽
开始上课喽
score = input("请输入学生成绩:")
score = int(score)
if score>=90:
print("A")
if score>= 80 and score<90:
print("B")
if score >= 70 and score<80:
print("C")
if score >=60 and score<70:
print("D")
if score < 60:
print("起开,我没你这帮学僧")
请输入学生成绩:38
起开,我没你这帮学僧
多路分支
if 条件表达式:
语句1
...
elif 条件表达式:
语句1
...
elif 条件表达式:
语句1
...
...
else:
语句1
...
- elif 可以有很多个,else可选,多路分支只会选一个执行。
- 示例一
score = input("请输入学生成绩:")
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("起开,我没你这帮学僧")
请输入学生成绩:38
起开,我没你这帮学僧
注意
- if语句可以嵌套使用,但不推荐
- python没有switch-case语句
循环语句
- 重复执行某些固定动作或者处理基本固定的事物
- 分类:for循环、while循环
for循环
for 变量 in 序列:
语句1
语句2
...
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
zhangsan
lisi
wangwu
jingjing
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
if name == "jingjing":
print("我的最爱{0}出现了".format(name))
else:
print("同学我们不约,不约,同学请自重")
zhangsan
同学我们不约,不约,同学请自重
lisi
同学我们不约,不约,同学请自重
wangwu
同学我们不约,不约,同学请自重
jingjing
我的最爱jingjing出现了
range介绍
for i in range(1,11):
print(i)
1
2
3
4
5
6
7
8
9
10
for-else语句
- 当for循环结束的时候,会执行else语句,else语句是可选语句。
- 示例一
for name in ['zhangsan', 'lisi', 'wangwu','jingjing']:
print(name)
if name == "jingjing":
print("我的最爱{0}出现了".format(name))
else:
print("同学我们不约,不约,同学请自重")
else:
print("别的都不是我的学生,不会在爱了")
print("别的都不是我的学生,不会在爱了")
print("别的都不是我的学生,不会在爱了")
print("别的都不是我的学生,不会在爱了")
zhangsan
同学我们不约,不约,同学请自重
lisi
同学我们不约,不约,同学请自重
wangwu
同学我们不约,不约,同学请自重
jingjing
我的最爱jingjing出现了
别的都不是我的学生,不会在爱了
退出循环
- break: 无条件结束整个循环,简称循环猝死。
- continue:无条件结束本次循环,从新进入下一轮循环。
- pass:表示略过,通常用于占位。
break
for i in range(1,11):
if i == 7:
print("我找到了")
break
else:
print(i)
1
2
3
4
5
6
我找到了
continue
for i in range(1,11):
if i % 2 == 1:
continue
else:
print("{0} 是偶数".format(i))
2 是偶数
4 是偶数
6 是偶数
8 是偶数
10 是偶数
for i in range(1,11):
if i % 2 == 0:
print("{0} 是偶数".format(i))
2 是偶数
4 是偶数
6 是偶数
8 是偶数
10 是偶数
for i in range(1,11):
if i % 2 == 1:
continue
print("{0} 是偶数".format(i))
2 是偶数
4 是偶数
6 是偶数
8 是偶数
10 是偶数
pass
for i in range(1,11):
pass
print("wo zai zheli")
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli
wo zai zheli