一.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('====>')