1 什么是循环
循环就是一个重复的过程
2 为何要有循环
人可以重复的去做某一件事
程序中必须有一种机制能够控制计算机像人一样重复地去做某一件事
3 如何用循环
# 语法
# while 条件:
# code1
# code2
# code3
# ...
一、while 循环
while True:
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == "user" and inp_pwd == "123":
print('login successfull')
else:
print('user or password err')
# while + break: break代表结束本层循环
while True:
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == "user" and inp_pwd == "123":
print('login successfull')
break
else:
print('user or password err')
# while+continue:continue代表结束本次循环(本次循环continue之后的代码不在运行),直接进入下一次循环
# 强调:continue一定不要作为循环体的最后一步代码
start=1
while start < 8: #5 < 8
if start == 4:
start += 1 #start=5
continue
print(start)
start+=1
user_from_db='egon'
pwd_from_db='123'
while True:
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == user_from_db and inp_pwd == pwd_from_db:
print('login successfull')
break
else:
print('user or password err')
continue
#while循环的嵌套
user_from_db='egon'
pwd_from_db='123'
while True:
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == user_from_db and inp_pwd == pwd_from_db:
print('login successfull')
while True:
cmd=input('>>>: ') # cmd='quit'
if cmd == 'quit':
break
print('%s run......' %cmd)
break
else:
print('user or password err')
给tag打标:
user_from_db='egon'
pwd_from_db='123'
tag=True
while tag:
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == user_from_db and inp_pwd == pwd_from_db:
print('login successfull')
while tag:
cmd=input('>>>: ') # cmd='quit'
if cmd == 'quit':
tag=False
break
print('%s run......' %cmd)
else:
print('user or password err')
# while + else
# else的代码会在while循环没有break打断的情况下最后运行
n=1
while n < 5:
if n == 4:
break
print(n)
n+=1
else:
print('=====》')
密码数错3次程序退出
user_from_db='egon'
pwd_from_db='123'
count=0
tag=True
while tag:
if count == 3:
print('输错次数过多')
break
inp_user=input('please input your username: ')
inp_pwd=input('please input your password: ')
if inp_user == user_from_db and inp_pwd == pwd_from_db:
print('login successfull')
while tag:
cmd=input('>>>: ') # cmd='quit'
if cmd == 'quit':
tag=False
break
print('%s run......' %cmd)
else:
print('user or password err')
count+=1 #count=3 # 输错3次
二、流程控制之for循环
names=['egon','alex_dsb','lxx_sb','yxx_dsb']
i=0
while i < len(names): #4 < 4
print(names[i])
i+=1
# for循环:可以不依赖索引而取指
names=['egon','alex_dsb','lxx_sb','yxx_dsb']
for item in names: #item='lxx_sb'
print(item)
dic={'x':1,'y':2,'z':3}
for k in dic: #k='x'
print(k,dic[k])
# for vs while
# for可以不依赖于索引取指,是一种通用的循环取指方式
# for的循环次数是由被循环对象包含值的个数决定的,而while的循环次数是由条件决定的
names=['egon','alex_dsb','lxx_sb','yxx_dsb']
for i in range(0,len(names)):
print(names[i])
# for+break
# for+continue
# for+else
for i in range(10):
if i == 4:
break
print(i)
else:
print('====>')
练习
'''
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
9*1=9.................9*9=81
'''
for i in range(1,10): #i=3
for j in range(1,i+1):
print('%s*%s=%s ' %(i,j,i*j),end='') #i=2 j=2
print()
''' max_level=5
* current_level=1 空格数=4 星号=1
*** current_level=2 空格数=3 星号=3
***** current_level=3 空格数=2 星号=5
******* current_level=4 空格数=1 星号=7
********* current_level=5 空格数=0 星号=9
'''
max_level=10
for current_level in range(1,max_level+1):
# 先不换行打印打印空格
for x in range(max_level-current_level):
print(' ',end='')
# 再不换行打印*
for y in range(2*current_level - 1):
print('*',end='')
print()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。