python之流程控制while循环

1.循环的语法与基本使用
语法1:

while 条件:
	代码1
	代码2
	代码3
print(3)

count = 0
while count < 5 :
	print(count)
	count+=1

2.死循环与效率问题

方式一:
count = 0
while count <5:
	print(count)
	
方式二:
while True:
	name = input('your name>>>>>')
	print(name)

方式三:
while True:
	1+1      #纯计算无io的死循环会导致致命的效率问题

方式四:
while 1:
	print('xxx')

3.循环的应用

username = 'egon'
password  = '123'
while True:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
	else:
		print('账号或密码错误')

#上述代码需要改进,1)重复代码不在输出;2)输对了应该不在重复

4.退出循环的两种方法

方式一:将条件改成假,等到下次循环判断条件才会生效
tag = False
username = 'egon'
password  = '123'
while tag:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		tag = False
	else:
		print('账号或密码错误')

方式二:break,只要运行到break,就会立刻终止本层循环
username = 'egon'
password  = '123'
while True:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		break
	else:
		print('账号或密码错误)

5.while 循环嵌套

tag = False
while tag:
	while tag:
		while tag:
			tag = False
#每一层都必须配一个break
while True:
	while True:
		while True:
			break
		break
	break

break的方式

username = 'egon'
password  = '123'
while True:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		while True:
			cmd = input('输入命令:')
			if cmd == 'q':
				break
			print('命令{
    
    x}正在运行'.format(x = cmd)
	else:
		print('账号或密码错误)

改变条件的方式

tag = True
username = 'egon'
password  = '123'
while tag:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		while True:
			cmd = input('输入命令:')
			if cmd == 'q':
				tag = False
			print('命令{
    
    x}正在运行'.format(x = cmd)
	else:
		print('账号或密码错误)

6.while+continue: 结束本次循环,直接进行下一次
在continue之后添加同级期待吗毫无意义,因为永远无法运行

count = 0
while count <6:
	if count == 4:
		count+=1
		continue
	print(count)
	count+=1

7.while +else

'''
while True:
    ...
else:
    print('else包含的代码会在while循环结束后,并且while循环是在没有被break打断后的情况下正常结束的,才会运行' )
'''

案例:

tag = True
username = 'egon'
password  = '123'
count = 0
while tag:
	if count ==3:
		print('输错三次退出')
		break
		
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		while True:
			cmd = input('输入命令:')
			if cmd == 'q':
				tag = False
			else:
				print('命令{
    
    x}正在运行'.format(x = cmd)
	else:
		print('账号或密码错误)
		count+=1

优化

tag = True
username = 'egon'
password  = '123'
count = 0
while count <3:
	name = input('your account:')
	pwd = input('your password:')
	if  name == username and pwd == password:
		print('登陆成功')
		while True:
			cmd = input('输入命令:')
			if cmd == 'q':
				break
			else:
				print('命令{
    
    x}正在运行'.format(x = cmd)
	else:
		print('账号或密码错误)
		count+=1
else:
	print('输错3次,退出')

退出循环的方式:
1)条件改成False
2)break

while 条件:
	while 条件:
		while 条件:
			break
		break
	break

while +continue continue后不要加其他同级代码,永远运行不到

猜你喜欢

转载自blog.csdn.net/weixin_47237915/article/details/114292567