文章目录
流程控制
注意事项:
1. 所有的条件都会转为布尔值进行判断
2. 在Python中,我们使用缩进来表示代码的从属关系
# 一般我们使用四个空格来表示一个缩进
3. 不是所有的代码都有从属关系
4. 同属于一个代码块的子代码块缩进量要保持一致
小技巧:如果上面一行代码的结尾是冒号:那么,下一行必缩进
一、顺序结构
我们之前写的代码执行顺序就是一种顺序结构,按照顺序一一执行。从上往下依次执行
二、分支结构
分支结构就是根据条件判断的真假去执行不同分支对应的子代码。通俗的就是按照条件的成功与否,来决定执行那个分支
关键字:if elif else
1.单分支
"""
语法格式:
if 条件:
条件成立之后要执行的代码块
"""
如:
weight = 170 # 如果身高小于170,称之为矮
if weight < 170 :
print('兄弟你好矮阿')
2.双分支
"""
语法格式:
if 条件:
条件成立之后执行的代码块
else:
条件不成立执行的代码块
"""
age = 18
if age < 18:
print('wc!未成年啊')
else:
print('矮油,不错!成年了啊')
"""双分支结构必然会走一个分支"""
分支结构里面支持写多个条件如:
age = 20
height = 165
weight = 100
is_beautiful = False
if age < 26 and height >= 165 and weight <= 100 and is_beautiful:
print('小姐姐好看')
else:
print('......')
3.多分支
"""
语法格式:
if 条件1:
条件1成立之后执行的代码块
elif 条件2:
条件1不成立条件2成立执行的代码块
elif 条件3:
条件1、2不成立,条件3成立执行的代码块
elif 条件4:
条件1、2、3不成立,条件4成立执行的代码块
else:
以上条件都不成立执行的代码块
"""
例子:
grades = 90
if grades >= 90:
print('优秀')
elif grades >= 80:
print('良好')
elif grades >= 70:
print('中等')
elif grades >= 60:
print('及格')
else:
print('重修')
4.if语句嵌套
x = 10
if x > 0:
print("x is positive")
if x % 2 == 0:
print("x is even")
else:
print("x is odd")
else:
print("x is negative or zero")
三、循环结构
重复执行某一个流程。我们Python中需要执行一些重复的代码,打起来比较麻烦这个时候就可以用到我们的循环,循环当条件成立的时候,就会执行里面的代码。
1.while循环
# while循环
'''
语法结构
while 条件:
条件件成立之后执行的循环体代码
1.先判断条件是否成立 如果成立则执行循环体代码
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环
'''
while True:
username = input('请输入用户名:')
password = input('请输入密码')
if username == 'chen' and password == '0426':
print('欢迎回来,管理员')
else:
print('您输入的账户不存在,请重新输入')
注意:
同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
基于空格缩进来决定层次关系
注意条件的设置,避免出现无限循环(除非真的需要无限循环)
1.1 while+break
'''break是用于直接结束本层循环'''
break主要用于某一个循环,想要停止哪一个循环在代码在一行
打上break即可,只能停止当前一的循环,有多层if就要多层break
while True:
username = input('请输入用户名:')
password = input('请输入密码')
if username == 'chen' and password == '0426':
print('欢迎回来,管理员')
break # 跳出本层循环
else:
print('您输入的账户不存在,请重新输入')
1.2 while+continue
#使用while循环打印出0-10之间的数字, 但是不打印6
'''continue主要用于某一个循环,想要当前代码跳过当前循环直接进入下一个循环,代码打在下一行即可'''
count = 0
while count < 10:
if count == 6:
count += 1
continue # 跳出本次循环
print(count)
count += 1
1.3 while+else
"""else: 当while循环中没有被中断(break)的时候会走else语句"""
count = 0
while count < 5:
if count == 3:
count += 1
continue
print(count)
count += 1
else:
print('easy')
2.死循环与标志位
# 程序中坚决不能出现死循环
count = 0
while True:
print(count)
count+=1
"""如果一旦出现了死循环,CPU的利用率会极速拉满,导致其他程序也不能用,甚至于关机"""
'''正常一篇代码下来,可能会进入很多次循环,所以一篇文章里面会出现很多个判断 ,此时标志位他的作用来了。'''
flag = True #先赋予变量flag布尔值True
while flag:
print('666')
while flag: #布尔值True表示继续执行
print('niuniu')
while flag: #同上
print('six six six')
flag = False #最后给flag的布尔值更改为False,整个流程就全部终止
3.for循环
for循环能够做到的事情,while循环都可以做到,但是for循环的语法结构更加简单,尤其擅长循环取值。循环就是按照一定的条件重复的去做一件事情,当条件不成立时就结束循环的内容。
#"""for循环不会出现死循环,它的循环条件不是我们来控制,是人家内部已经控制好了"""
"""
可迭代对象:字符串、列表、字典、元组等,能够支持for循环的对象都是可迭代对象
for循环的语法格式:
for 变量名 in 可迭代对象:
pass
"""
'''字典暴露的是字典的key'''
d = {'username': 'jerry', 'age': 18}
for i in d:
print(i, d[i]) # username age
3.1 for range
range是python中的一个内置函数,能够帮助我们快速产生一个包含多个数据值的列表
一般用在for循环当中
'''三种用法'''
1.方法一
for i in range(10): #生成一个从0开始到9的数字
print(i)
for i in range[0,1,2,3,4,5,6,7,8,9]:
print(i)
2.方法二
for i in range(3,10): #生成一个从3开始到9的数字列表
print(i)
3.方法三
for i in range(0,250,25): #第三个参数代表着步长
print(i)
3.2 for+break
''' break的用法其实跟while中的break一摸一样,也是和while里面一样只能跳出本层循环'''
for i in range(10):
i == 6:
break
print(i)
3.3 for+continue
''' continue的用法其实跟while中的continue一摸一样,也是和while里面一样只能跳出本次循环'''
for i in range(10):
i == 6:
continue
print(i)
continue的作用是:
中断所在循环的当次执行,直接进入下一次
break的作用是:
直接结束所在的循环
注意事项:
continue和break,在for和while循环中作用一致
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
3.4 for+else
'''跟while循环的用法一样,中间如果有中断程序,else就不在走了'''
for i in range(10):
if i == 6:
break
print(i)
else:
print('easy')
3.5 for循环嵌套
for i in range(3):
for j in range(5):
print("*",end='')
print() # print()表示换行