一、条件分支
1.格式:
if 条件:
条件为真(True)执行的操作
else:
条件为假(False)执行的操作
2.例:
print('班里查询考试成绩,得分100~90为A,得分89~80为B,得分79~60为C,得分59~0为D,输入其它则显示查询错误')
score = int(input('请输入你要查询的成绩:'))
if 100 >= score >= 90:
print('A')
elif 89 >= score >= 80:
print('B')
elif 79 >= score >= 60:
print('C')
elif 59 >= score >= 0:
print('D')
else:
print('输入错误')
if 判断条件可以简写为:
3.三元操作符:
例:
x,y = 4,5
if x < y:
small = x
else:
small = y
# 例子可以改进为
small = x if x < y else y
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
4.assert(断言)
当 assert 关键字后面的条件为 False 的时候,程序自动崩溃并抛出 Assertionerror 的异常。
assert 3 > 4
Traceback (most recent call last):
File "
assert 3 > 4
AssertionError
二、while 循环:
当条件为 True 时执行循环体的内容,当条件不成立为 False 时结束循环;当循环体中设置语句修改条件,当 while 循环运行到指定位置时自动退出。
1.while 循环:
while 条件:
条件为真(True)执行的操作
例:
temp = int(input('猜猜我心里想的分数:'))
guess = temp
while guess != 5:
temp = int(input('猜错了,请重新输入:'))
guess = temp
if guess > 5 :
print('大了大了')
if guess < 5 :
print('小了小了')
else:
guess = 5
print('恭喜你,答对了!')
print('游戏结束,不玩了。')
2.break:触发后,中止循环并跳出当前循环体
例1:
answer = 'Python'
ask = input('我学的是哪种编程语言:\n')
while True:
if ask == answer:
print('猜对啦~')
break
else:
ask = input('不对不对,重新输入:\n')
print('游戏结束')
例2:可以设 while 条件为小于5次,循环体每运行一次则增加一次机会,当运行次数达到设定次数,循环体结束运行。
s = 0
while s < 5:
answer = int(input('请输入你要查询的分数:\n'))
ask = answer
if 100 >= ask >= 90:
print('你的分数是A类,请继续查询:\n' )
elif 89 >= ask >= 80:
print('你的分数是B类,请继续查询:\n' )
elif 79 >= ask >= 60:
print('你的分数是C类,请继续查询:\n' )
elif 59 >= ask >= 0:
print('你的分数是D类,请继续查询:\n' )
else:
print('输入错误,请重新输入:')
s += 1
print('查询结束')
例2 相对于 continue 循环:
i = 0
if i in range(1,10):
if i == 6:
break
print(i)
1
2
3
4
5
注:break 循环的条件是 i == 6
,所以达到条件,循环停止。
3.continue:结束 continue 条件的循环,继续开始后面的循环。
例1:
i = 0
for i in range(1,10)
if i == 6:
continue
print(i)
结果:
1
2
3
4
5
7
8
9
注:continue 设定的条件是跳过6,所以循环到5,跳过条件,从7继续循环。
三、for…in:(计数器循环)
1.格式:
for 目标 in 表达式:
循环体
其中:目标表示每一次迭代的变量
表达式是一个列表/元组
例1:
a = 'Python'
for b in a:
print(b,end=' ')
P y t h o n
例2:
a = ['Python']
for b in a:
print(b,len(b))
Python 6
其中,len() 的作用是计算参数的长度并返回,b 为每次带入计数器的长度。
2.range([strat,]stop[,setp = 1])
是一个 BIF,是生成从 strat 参的值数开始到 stop 参数的值结束的数字序列,通常搭配 for in 循环使用。
有三个参数,其中 strat 、setp 为非必选参数
setp = 1,表示第三个参数默认值是1;如例3,步径。
注意:
range(5)
range(0, 5)
list(range(5))
[0, 1, 2, 3, 4]
range(5) 会生成一个返回值,从0 到 5;转变成一个 list(列表)后,值是从0 到 4.
例1 range(一个参数):
range(5)
range(0, 5)
for i in range(5):
print(i)
0
1
2
3
4
例2 range(两个参数):
range(1,9)
range(1, 9)
for i in range(1,9):
print(i)
1
2
3
4
5
6
7
8
注意:不包含 range(1,9) 9的值。
例3 range(三个参数):
range(1,11,2)
range(1, 11, 2)
for i in range(1,11,2):
print(i)
1
3
5
7
9
例4 用 for 循环求1+2+3+….+100的和:
num = 0
for i in range(1,101):
num += i
print(num)
1
3
6
10
...
...
4950
5050