流程控制之while循环,for循环

一.while循环

语法:

while  条件:
	代码1
	代码2
	代码3
	...

基本使用1:

print('start.....')
while 10 < 3:
	print('hello1')
	print('hello2')
	print('hello3')
print('end.....')

基本使用2:

count = 0
while count < 6:
	print(count)
	count+=1
print('end.....') # 0 1 2 3 4 5

案例:基本验证功能

db_name = 'juanfu'
db_pwd = '123'

while True:
	name = input('your name:')
	pwd = input('your password')

	if name == db_name and pwd == db_pwd:
		print('login sucessfully')
	else:
		print('name or password error')

如何结束while循环

1.把条件改为False

db_name = 'egon'
db_pwd = '123'

tag = True
while tag:
	name = input('your name:')
	pwd = input('your password:')

	if name == db_name and pwd == db_pwd:
		print('successful')
		tag = False
	else:
		print('error')
	print('else code.....')  # 会运行这行代码

2.break:直接终止本层循环

db_name = 'egon'
db_pwd = '123'

while True:
	name = input('your name:')
	pwd = input('your password:')

	if name == db_name and pwd == db_pwd:
		print('successful')
		break
	else:
		print('error')
	print('else code.....')  # 密码输入成功后直接结束循环,不会运行这行代码

死循环

# while True:
# 	# print('hello')
# 	# input('>>: ')
# 	1+1

while + continue:终止本层循环

强调1:不要在continue之后编写同级别的代码

count = 0
while count < 6:
	if count == 3 or count == 4:
		count += 1
		continue
		# count+=1  不可以写在这里
	print(count)
	count+=1

强调2: 如果不想执行本次循环之后的代码,可以用continue,但是如果本次循环本来就没有要继续运行的后续代码了,就没必要加continue了

db_name = 'egon'
db_pwd = '123'

while True:
	name = input('your name:')
	pwd = input('your password:')
	
	if name == db_name and pwd == db_pwd:
		print('successful')
		break
	else:
		print('error')
		# continue 这里没必要再加continue了

while + else

count = 0
while count < 6:
	print(count)
	if count == 3:
		break
	count += 1
else:
	print('会在while循环正常死亡之后运行') # 被break结束的循环不会再运行此代码

while循环嵌套

案例:break的方式结束循环

while True:
	name = input('your name:')
	pwd = input('your password:')
	if name == 'egon' and pwd == '123':
		print('successful')
		while True:
			print(
				'''
				0  退出
				1  转账
				2  提现
				3  取款
				'''
			)
			cmd = input('请输入命令编号:')
			if cmd == '0':
				break
			elif cmd == '1':
				print('正在转账...')
			elif cmd == '2':
				print('正在提现...')
			elif cmd == '3':
				print('正在取款...')
			else:
				print('无此命令,重新输入')
		break
	else:
		print('error')


案例:tag的方式结束循环

tag = True
while tag:
	name = input('your name:')
	pwd = input('your password:')
	if name == 'egon' and pwd == '123':
		print('successful')
		while tag:
			print(
				'''
				0  退出
				1  转账
				2  提现
				3  取款
				'''
			)
			cmd = input('请输入命令编号:')
			if cmd == '0':
				tag = False
			elif cmd == '1':
				print('正在转账...')
			elif cmd == '2':
				print('正在提现...')
			elif cmd == '3':
				print('正在取款...')
			else:
				print('无此命令,重新输入')

	else:
		print('error')

二.for循环

for 循环主要用于循环取值,例如列表,字典,字符串
for 循环循环的次数取决于值的个数
while循环循环的次数取决于条件什么时候变为False或者什么时候执行break

基本使用

l = [111,222,333,444,555]

i = 0
while i < len(l):
	print(l[i])
	i += 1

for x in l:
	print(x)
d = {'k1':111,'k2':222,'k3':333}
for k in d:
	print(k,d[k])
l = [['aaa',111],['bbb',222],['cccc',333]]
for x,y in l: # x,y = ['aaa',111] 解压赋值
	print(x,y)

for+break

for x in [111,222,333,444,555]:
	if x == 333:
		break
	print(x)

for+continue

for x in [111,222,333,444,555]:
	if x == 333:
		continue
	print(x)

for+else

for x in [111,222,333,4444,555]:
	if x == 333:
		break
	print(x)
else:
	print('====>')

猜你喜欢

转载自blog.csdn.net/yikenaoguazi/article/details/107228590
今日推荐