三大结构
- 顺序
- 分支
- 循环
顺序
- 逐行执行每行代码
分支
- 分支的基本语法
if 条件表达式:
语句1
语句2
语句3
… - 条件表达式就是计算结果必须为布尔值的表达式
- 表达式后面的冒号不能少
- 注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级
- 条件表达式结果为True执行if后面的缩进语句块
# if语句练习
# 如果age小于18岁,则打印信息"去叫家长"
age = 17
if age < 18:
print('去叫家长把,孩纸')
print('我们不带你玩')
去叫家长把,孩纸
我们不带你玩
print("今天学习for循环")
gender = "男"
if gender =="女":
print("来叔叔给你糖吃")
print("开始讲for循环了")
今天学习for循环
开始讲for循环了
双向分支
- if…else…语句
if 条件表达式:
语句1
语句2
…
else:
语句1
语句2
… - 双向分支有两个分支,当程序执行到if…else…语句的时候,一定会执行if或else中的一个,且只能执行一个
- 缩进问题,if和else是一个层级,其余语句一个层级
# input的作用是:
# 1.在屏幕上输入括号内的字符串
# 2.接受用户输入的内容并返回到程序
# 3.input返回的内容一定是字符串类型
gender = input("请输入性别:")
print("你输入的性别是:{0}".format(gender))
if gender == "男":
print("来,我们纪念一下今天把,代码敲十遍")
else:
print("来叔叔给你糖吃")
print("开始上课咯")
请输入性别:女
你输入的性别是:女
来叔叔给你糖吃
开始上课咯
# 考试成绩判断
# 90以上:优
# 80-90:良
# 70-80:中
# 60-70:平
# 60以下:我没你这傻学生
# score 存放学生成绩
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("我没你这傻学生")
请输入学生成绩:95
A
多路分支
-
很多分支的情况,简称多路分支
if 条件表达式:
语句1
…
elif 条件表达式:
语句2
…
elif 条件表达式:
语句3
…
else:
语句4
… -
elif可以有很多个
-
else可选
-
多路分支只会选一个执行
# score 存放学生成绩
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("我没你这傻学生")
请输入学生成绩:45
我没你这傻学生
if语句其他
- if语句可以嵌套使用,但不推荐
- python没有switch-case语句(pass,反正我不会)
循环语句
- 重复执行某些固定动作或者处理基本固定的事物
- 分类
- for循环
- while循环
for循环
- for循环
for 变量 in 序列:
语句1
语句2
…
# 列表就是一列数字或者其他值,一般用中括号标志
# 例如 ['张三','李四','王五','雪雪']
# 打印学生列表姓名
# 如果是雪雪,那就是我的最爱
# 如果是别的学生,要冷酷拒绝他
for name in ['张三','李四','王五','雪雪']:
print(name)
if name == "雪雪":
print("雪雪,你可算来啦")
else:
print("同学,我们不约")
张三
同学,我们不约
李四
同学,我们不约
王五
同学,我们不约
雪雪
雪雪,你可算来啦
range介绍
- 生成一个数字序列
- 具体的范围可以设定
# range练习
# 打印从1-10的数字
# 注意,一般在python中,如果有表示数字范围的两个数,一般是包含左边数字,不包含右边的数字
# randint是特例,他左右都包含
# range函数在python2 和 python3中有严重区别
for i in range(1,11):
print(i)
1
2
3
4
5
6
7
8
9
10
for-else语句
- 当for循环结束的时候,会执行else语句
- else语句是可选语句
# for-else语句
# 打印列表中的同学
# 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了
for name in ['张三','李四','王五','雪雪']:
print(name)
if name == "雪雪":
print("雪雪,你可算来啦")
else:
print("同学,我们不约")
else:
print("别的都不是我的学生,不会再爱了")
张三
同学,我们不约
李四
同学,我们不约
王五
同学,我们不约
雪雪
雪雪,你可算来啦
别的都不是我的学生,不会再爱了
for循环之break,continue,pass
- break:无条件结束整个循环,简称循环猝死
- continue:无条件结束本次循环,重新进入下一轮循环
- pass,占位符,表示略过
# 在数字1-10中,寻找数字7,一旦找到打印出来,其余则什么都不做
# for循环中的变量表示,一般用i,k,m,n 或者 indx, idx, item之类
# python中,如果循环变量名称不重要,可以用下划线"_"代替
for i in range(1,11):
if i == 7:
print("我找到了")
break
else:
print(i)
1
2
3
4
5
6
我找到了
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
if i % 2 == 1:
continue
else:
print("{}是偶数".format(i))
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
if i % 2 == 1:
continue
print("{}是偶数".format(i))
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
# pass例子,一般用于占位
# pass没有跳过功能,执行到就略过
for i in range(1,11):
pass
print("我在这里")
我在这里
我在这里
我在这里
我在这里
我在这里
我在这里
我在这里
我在这里
我在这里
我在这里