Python之流程控制

流程控制

注意事项:
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()表示换行
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值