1-7.判断和循环语句
- 1.if 判断语句
- 1.1 if 语句
- 1.2 if-else语句
- 1.3 if-elif-else
- 1.4 嵌套if语句
- 2.循环语句
- 2.1 while循环语句
- 2.1.2死循环:永不结束的循环
- 2.1.3结束while循环有两种方式
- 2.1.4continue
- 2.2 while+else
- 2.2. for循环语句
- 2.2.1for 循环语句与range()函数
- 2.2.2for循环嵌套
- 2.1 while循环语句
程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)
1.if 判断语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
1.1 if 语句
#if 判断条件:
# 执行语句1
#判断条件为True执行的语句1
age=20
if age>=18:
print('已成年')
1.2 if-else语句
#if 判断条件:
# 执行语句1
#else:
# 执行语句2
#判断条件为True执行的语句1
#判断条件为False时执行语句2
age=int(input("请输入你的年龄"))
if age>=18:
print('已成年')
else:
print('未成年')
1.3 if-elif-else
编程时常常需要判断一系列的条件,一旦某个条件为真时就立即停止,这总情况可以采用 if-elif-else语句其一般形式如下:
if 判断条件1:
执行语句1
elif 判断条件2:
执行语句2
elif 判断条件3:
执行语句3
else:
执行语句4
依次判断条件,当满足某个条件时执行其相对应的语句块
如果都不满足则执行最后的else对应的语句块,然后在执行后续程序
score=int(input("请输入成绩"))
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('很差')
1.4 嵌套if语句
在if语句中又包含一个或者多个if语句时,称为if语句的嵌套
if 判断条件1:
if 判断条件2:
执行语句1
else:
执行语句2
else:
if 判断条件3:
执行语句3
else:
执行语句4
2.循环语句
什么是循环语句语句?
循环结构就是重复执行某段代码块
2.1 while循环语句
while 判断条件:
语句块 #循环体
当判断条件为真时执行循环体:
在接着判断条件,如果为真,继续执行循环体;
如此反复,直到判断条件为假时结束循环体,执行五while后的语句
i=1
while i<=5:
print(i)
i+=1
2.1.2死循环:永不结束的循环
while True:
print(1)
2.1.3结束while循环有两种方式
方式一:把条件改为False, 必须要等到下一次循环判断条件时才能结束循环
i = 1
tag = True
while tag:
if i == 5:
tag = False
print(i)
i += 1

方式二:break终止本层循环,会立即结束while循环,根本没有下一次
i = 1
tag = True
while tag:
if i == 5:
break
print(i)
i += 1

2.1.4continue
continue则用于结束本次循环,直接进入下一次循环
i = 1
while i <= 5:
if i == 3:
i += 1
continue
print(i)
i += 1
强调:
1、不要在continue后加与continue同级的代码,加了就永远运行不了了
2、循环体代码的最后一步不要写continue
2.2 while+else
else的子代码何时运行:
while循环结束后并且是在正常情况下结束的,else的子代码块才会运行
ps:只要不是被break干掉的循环,都是正常结束的
正常结束的
i = 0
while i <= 5:
if i == 3:
i += 1
continue
print(i)
i += 1
else:
print("==============")
被break结束的
i = 0
while i <= 5:
if i == 3:
i += 1
break
print(i)
i += 1
else:
print("==============")
2.2. for循环语句
for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁
for更擅长遍历值,for循环的次数取决值的个数
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象
代码一
代码二
...
#例1 遍历数列
for item in ['a','b','c']:
print(item)
# 运行结果
a
b
c
#例2
l1 = [[111, 222], [444, 555], [777, 888]]
for x,y in l1: #x,y =[111,222]
print(x,y)
# 运行结果
#例1 遍历字典
dic = {'k1':111,'k2':222,'k3':333}
for k in dic:
print(k,dic[k])
# 运行结果
k1 111
k2 222
k3 333
2.2.1for 循环语句与range()函数
range() 函数时python的内置函数
python2.x range() 函数可创建一个整数列表,一般用在 for 循环中。
Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
for 循环语句经常与range()函数一起使用
range()函数的语法是:
range([start],stop,[step])
#start 计数从start开始,默认是0 range(5)等价range(0,5)
#stop 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
#step: 步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
for count in range(6): # range(6)会产生从0-5这6个数
print(count)
# 运行结果
0
1
2
3
4
5
# 让某段代码重复运行3次-》for循环实现如下
for x in range(3):
print('hello1')
print('hello2')
# 运行结果
hello1
hello2
hello1
hello2
hello1
hello2
2.2.2for循环嵌套
for i in range(3):
for j in range(5):
print("*",end='')
print() # print()表示换行
# 运行结果
*****
*****
*****