# 三大结构
- 循环
- 分支
- 循环
In [ ]:
# 分支
- 分支的基本语法
- if 条件表达式:
语句1
语句2
语句3
.....
- 条件表达式就是计算结果必须是布尔值的表达式
- 表达式后面的冒号觉对不能少
- 注意 if 后面出现的语句,如果属于 if 语句块,则必须同一个缩进等级
- 条件表达式结果位 True 执行 if 后面的缩进语句块
In [8]:
#if 语句练习
#如果age小于18岁,则打印信息,去叫家长
age = 19
if 10 <= age <= 18:
print("去叫家长")
print("带不动")
print("走吧")
print("大兄弟") #不满足条件的会执行下一条与 if 齐平的代码
In [ ]:
### 双向分支
- if ...else...语句
if 条件表达式:
语句1
语句2
....
else:
语句1
语句2
.....
- 双向分支有两个分支,当程序执行到 if....else.....语句的时候,一定会执行 if 或 else 中的一个,一次也只能执行一个
- 缩进问题,if 和 else 一个层级,其余的语句块是一个层级,同一语句块的缩进是一样的。
In [4]:
# input 的作用
# 1. 在屏幕上输出括号内的字符串
# 2. 接受用户输入的内容并返回到程序
# 3. input 返回的内容一定是字符串类型
gender = input("输入性别")
print("你输入的性别是:{0}".format(gender))
if gender == "男的":
print('去干苦力')
else:
print("吃饭去")
print('开始干活了')
In [ ]:
# 多向分支的案例
# 考试成绩的判断
# 90以上:输出优秀
# 80-90:良
# 70-80:中等
# 60-70:一般
# 60以下:输出,学渣
In [5]:
# score 存放学生成绩
#注意 input 的返回值类型
score = input("学生成绩:")
# 需要吧 str (字符串)转换成 int(数字)
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("头疼")
In [ ]:
## 多路分支
- 很多分支的情况,简称多路分支
if :条件表达式:
语句1
.......
elif 条件语句:
语句1
.....
.....
else:
语句2
......
- elif 可以有很多个
- else 可选
- 多个分支只会选一个执行
In [6]:
score = input("输入成绩")
score = int(score)
if score >90:
print("A")
if score >=80:
print("B")
if score >=70:
print("C")
if score >=60:
print("D")
else:
print("go home")
## if 语句其他:
- if 语句可以嵌套使用,但不推荐
- python 语句里没有 switch-case语句
if 语句其他:¶
- if 语句可以嵌套使用,但不推荐
- python 语句里没有 switch-case语句
### 循环语句
- 重复执行某些固定动作或处理某些基本固定的事务
- 分类:
- for 循环
- while 循环
## for 循环
- for 循环
for 变量 in 序列:
语句1
语句2
......
循环语句¶
- 重复执行某些固定动作或处理某些基本固定的事务
-
分类:
- for 循环 - while 循环
for 循环¶
- for 循环
for 变量 in 序列: 语句1 语句2 ......
- for 循环
In [11]:
### 列表就是一列数字或其他值,一般用中括号表示
# 例如: 【'ruirui','halou','xiaoji','dunmogu'】
# 打印列表姓名
# 如果是吃的,肯定是我最爱的
# 如果是做事,我要装睡觉
for name in ['ruirui','zuo','xiaoji','dunmigu']:
print(name)
if name =="ruirui":
print("我的最爱{0}".format(name))
else:
print("已睡,勿扰")
In [ ]:
## range 介绍
- 生成一个数字序列
- 具体范围可以设定
In [13]:
# range 练习
# 打印一到十的数字
# 注意 一般在 python 中,如果有表示数字范围的两个数,一般是包含左边的数字不包括右边的数字
# randint 是特例,它是左右都包含
# randint 函数在 python 3和python2 中有严重的区别
for a in range(1,10):# range 函数会自动生产一列整数
print(a)
In [ ]:
## for-else 语句
- 当 for 循环结束的时候,就会执行 else 语句
- else 语句是可选语句
In [14]:
# for-else 语句
#打印列表中的同学
# 如果没有在列表中,或列表结束了,我们要打印提示语句,表示不在爱了
for name in ['ruirui','zuo','xiaoji','dunmigu']:
print(name)
if name =="ruirui":
print("我的最爱{0}".format(name))
else:
print("已睡,勿扰")
else:
print("你不给我吃的,我不再爱你了")
# for 循环之 break continue pass
- break:无条件结束整个循环,简称猝死
- continue ;无条件结束本循环,从新进入下一轮
- pass :表示路过
- break:无条件结束整个循环,简称猝死
- continue ;无条件结束本循环,从新进入下一轮
- pass :表示路过
In [16]:
# break 语句练习
# 在数字1-10中,寻找数字7,一旦找到,打印出来,其余的什么都不做
# 在 foe 循环中的变量表示,一般用 i k m n 或者indx idx item之类
# 在 python 中,如果循环变量名称不重要,可以用一个下划线 “ _ ”代替
for i in range(1,11):
if i == 7:
print("任务结束")
break
else:
print(i)
In [19]:
# comtinue 语法练习
# 在数字一到十中,寻到所有偶数,找的并打印
for i in range(1,11):
if i % 2 == 1:
continue
else:
print("{0}是偶数".format(i))
In [26]:
for i in range(1,11):
if i % 2 == 1:
print("{0}是偶数".format(i))
In [27]:
# 本案例把 continue 作用和用法完美显示
for i in range(1,11):
if i % 2 == 1:
continue
print("{0}是偶数".format(i))
In [30]:
## pass 例子 一般用于占位
for i in range(1,11):
pass
print("ruirui")