if(分支)
if的语法
- if 条件表达式:
- 代码块
- ....
- 条件表达式的计算结果必须为布尔值
- 为True则执行下面的代码块
- 注意冒号以及缩进
age = 21
age_inp = int(input('猜一下年龄:'))
if age == '21':
print('机智')
if age >= '21':
print('傻逼')
猜一下年龄:25
傻逼
if...else...
age = 21
age_inp = int(input('猜一下年龄:'))
if age == '21':
print('机智')
else:
print('傻逼')
猜一下年龄:30
傻逼
if...elif...else
- elif可以有很多个
- else也可以没有
- 但多路分支,只会执行一个
score = int(input('请输入学生成绩:'))
# 注意input接受的值是字符串
if score >= 90:
print('A')
elif score >= 80:
print('B')
else:
print('C')
请输入学生成绩:98
A
if的嵌套
- 多个if叠加使用
- 不推荐,尽量保持代码整洁
my_score = 98
score = int(input('猜猜我的分数'))
if score != my_score:
if score > my_score:
print('大了')
elif score < my_score:
print('小了')
else:
print('对了')
猜猜我的分数9
小了
for循环
- 用法:for 变量 in 序列:
- 遍历
for i in range(4):
print(i)
0
1
2
3
for-else 语句
- 当for循环结束的时候,执行else语句
for i in range(4):
print(i)
else:
print('输出完成')
0
1
2
3
输出完成
for循环的嵌套(重要)
- 很重要
for i in range(3):
for j in range(2):
print(i, j)
0 0
0 1
1 0
1 1
2 0
2 1
range介绍
- 生成一个数字序列
- 包括左边不包括右边(Python大都是这样,randint除外)
- range在python2和python3中有严重区别,注意!
- range中有三个参数,第一和第二个是取值区间,不填默认第一个为0,第三个是跨度,可以为负数(了解)
for i in range (1,4):
print (i)
1
2
3
while循环
- while 条件表达式:
- 代码块
- 没有具体的循环次数,只要循环的条件成立,就一直循环
my_score = 98
# 无限循环
while True:
score = int(input('猜猜我的分数'))
if score != my_score:
if score > my_score:
print('大了')
elif score < my_score:
print('小了')
else:
print('对了')
猜猜我的分数65
小了
猜猜我的分数100
大了
猜猜我的分数98
对了
猜猜我的分数...
capital = 5000
year = 0
while capital<7000:
capital *= 1.12
year += 1
print(f'第{year}年,现在我有{capital}元')
第1年,现在我有5600.000000000001元
第2年,现在我有6272.000000000002元
第3年,现在我有7024.640000000003元
while + else
- 当while循环没有被break掉,条件表达式的结果为False,执行else下的语句
capital = 5000
year = 0
while capital<7000:
capital *= 1.12
year += 1
print(f'第{year}年,现在我有{capital}元')
else:
print('满足了')
第1年,现在我有5600.000000000001元
第2年,现在我有6272.000000000002元
第3年,现在我有7024.640000000003元
满足了
循环之break,continue, pass
- break: 无条件结束整个循环,简称循环猝死
- continue:无条件结束本次循环,从新进入下一轮循环
- pass:表示略过,通常用于站位
# 在数字1-10中找到7
for i in range(1, 11):
if i == 7:
print(i)
break
7
# 在数字1-10中,打印所有偶数
for i in range(1, 11):
if i%2 == 1:
continue
print(i)
2
4
6
8
10
# 不知道这块代码要做什么,先用pass占好位置,以免报错
for i in range(1, 10):
pass