1-7.判断和循环语句
程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到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()表示换行
    
# 运行结果  
*****
*****
*****
    
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号