三大结构
分支
单向分支
- 分支的基本语法
if 条件表达式:
语句1
语句2
语句3
........
- 条件表达式就是计算结果必须为布尔值的表达式
- 表达式后面的冒号不能少
- 同样的缩进等级表示一个语句块 类同与java中的{}
- 表达式结果为True执行:后面的语句块
#if语句案例
#如果age小于18,则打印信息"去叫家长"
age = 19
if age<18:
print("去叫家长吧.....孩纸!")
print("我们不带你玩!")
print("去吧!!!")
print("没有熊孩纸了,开车了!!")
没有熊孩纸了,开车了!!
双向分支
- if.....else.... 语句
if 条件表达式:
语句1
语句2
......
else:
语句1
语句2
......
- 分支结构明确,不是真就是假!不是执行if 就是执行else,一定会执行一个,而且必须执行一个!
#if else 案例
#用户输入性别,判断不同的性别 然后打印不同的信息
gender = input("请输入性别:" )
print("你输入的性别是:{0}".format(gender))
if gender == "男":
print("男的?拉去写代码!")
else:
print("女的?拉走....")
请输入性别:女
你输入的性别是:女
女的?拉走....
多项分支
- 对条件进行多项判断,在判断完第一个分支后,不管满不满足条件,都会执行下一个判断条件
# 多项分支案例
# 成绩判断
'''90以上输出:优秀
80-90:良
70-80:中
60-70:平
60以下:我没你这傻学生!'''
# input返回类型是str
score = input("输入你的成绩:")
#把str转换成int
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("平")
if score<60:
print("你走!我没你这傻学生!")
输入你的成绩:45
你走!我没你这傻学生!
多路分支
- 很多分支情况,但是只会执行一个分支条件,只要其中一个满足条件,其他的判断将不会在执行
if 条件表达式1:
语句1
...
elif 条件表达式2:
语句1
...
elif 条件表达式3:
语句1
....
else:
语句1
...
- else 可以省略;
#多路分支案例
# input返回类型是str
score = input("输入你的成绩:")
#把str转换成int
score = int(score)
if score>90:
print("成绩优秀!")
elif score>=80:
print("良")
elif score>=70:
print("中")
elif score>=60:
print("平")
else:
print("你走!我没你这傻学生!")
输入你的成绩:40
你走!我没你这傻学生!
循环
- 重复执行某些固定动作或者处理基本固定的事件
- 在循环中,如果循环变量不重要的话,可以使用_代替
- 分类
for循环
- 基本语法
for 变量 in 序列:
语句1
语句2
...
#列表+for的案例
student_names = {"张三","李四","王五","静静"}
for name in student_names:
print("姓名是:{0}".format(name))
if name == "静静":
print("{0}同学,你好!认识下吧!".format(name))
else:
print("哦!{0}同学啊!你好,你好!".format(name))
姓名是:王五
哦!王五同学啊!你好,你好!
姓名是:静静
静静同学,你好!认识下吧!
姓名是:张三
哦!张三同学啊!你好,你好!
姓名是:李四
哦!李四同学啊!你好,你好!
衍生知识-range 介绍
- 生成一个数字序列
- 具体范围可以设定
- 注意! 一般在Python中,如果由两个数字表示范围的话,一般是包含左边的数字,不包含右边的数字
- 如:range(1,10) 包含1 而不包含10 所以打印出来是1-9
# range案例
for i in range(1,10):
print(i)
1
2
3
4
5
6
7
8
9
for-else 语句
- 当for循环结束的时候,将执行else语句.else语句是可选的
student_names = {"张三","李四","王五","静静"}
for name in student_names:
print("姓名是:{0}".format(name))
if name == "静静":
print("{0}同学,你好!认识下吧!".format(name))
else:
print("哦!{0}同学啊!你好,你好!".format(name))
else:
print("我的学生到齐了,其他的同学都退了吧!")
姓名是:王五
哦!王五同学啊!你好,你好!
姓名是:静静
静静同学,你好!认识下吧!
姓名是:张三
哦!张三同学啊!你好,你好!
姓名是:李四
哦!李四同学啊!你好,你好!
我的学生到齐了,其他的同学都退了吧!
循环之break、continue、pass
- break: 无条件结束整个循环,简称循环猝死
- continue:无条件结束本次循环,从新进入下一次循环
- pass:....后面学习,通常用于占位
# break 案例
# 在1-10中找到数字7 并打印 然后结束循环
for i in range(1,11):
if i == 7:
print(i)
break
7
# continue 案例
# 如果是奇数,直接跳过,如果是偶数,就打印
# 在1-10的数字中 打印偶数
for index in range(1,11):
if index%2 != 0:
continue
print(index)
2
4
6
8
10
# pass 案例
# 当一段代码有必要的存在时,如果突然结束会到时报错,这个时候就需要通过pass 进行占位
# 用于占位,避免程序报错!
# 下面for循环是我必须要用的,但是具体的循环体是什么我还没想好!那就先用个pass来把位置给占着吧!
for index in range(1,11):
pass