while循环
基本结构
while 条件:
循环体
else:
代码快
简单循环
while True: print('1') print('2') print('3') print('4')
循环的停止
1.改变循坏中的条件 flag = True while flag: print('1') print('2') print('3') flag = False print('4') 2.break:跳出循环 while flag: print('1') print('2') print('3') break print('4') 3.continue,退出本次循环,继续下一次循环 while flag: print('1') print('2') print('3') continue print('4') 4.while else循环:如果循环被break打断,则不执行else count = 1 while count < 5: print(count) if count == 2: break count = count + 1 else: print(666)
for循环
基本结构
有限循环: for 变量 iterable; 语句 也可以使用break/contiune if else 和 while else的用法一样
示例:
一,输出1到100的奇数
1 for i in range(1,101):
2 if i % 2 == 0: 3 continue 4 else: 5 print('loop:',i)
1 for i in range(1,101):
2 if i % 2 == 1: 3 print('loop:',i)
1 for i in range(1,101,2):
2 print('loop:',i)
二,输出1到100的奇书,并且不输出50~70
1 for i in range(1,101):
2 if i % 2 == 0: 3 continue 4 elif i >=50 and i <= 70: 5 continue 6 else: 7 print('loop:',i)
1 for i in range(1,101):
2 if i > 70 or i < 50: 3 print('loop:',i)
三,模仿一个账号登陆程序,三次错误跳出
1 user = 'CatdeXin'
2 passwd = 'abc123' 3 4 passwd_authentication = False 5 6 for i in range(3): 7 username = input('username: ') 8 password = input('password: ') 9 10 if username == user and password == passwd: 11 print("welcome %s login..."% user) 12 passwd_authentication = True 13 break 14 else: 15 print("Invalid username or password !") 16 17 if not passwd_authentication: 18 print('Youve tried too many times')
1 user = 'CatdeXin'
2 passwd = 'abc123' 3 4 for i in range(3): 5 username = input('username: ') 6 password = input('password: ') 7 8 if username == user and password == passwd: 9 print("welcome %s login..."% user) 10 break #break for过后,就不会执行后面的else语句 11 else: 12 print("Invalid username or password !") 13 else: #只要上面的for循环执行完毕,中间没有被打断,就会执行else语句 14 print('Youve tried too many times')
四,双层跳出
1 exit_flag = False
2
3 for i in range(10): 4 if i < 5: 5 continue #跳出当次循环 6 print(i) 7 for j in range(10): 8 print('Tow level:',j) 9 if j == 6: 10 exit_flag = True #you jump 11 break 12 if exit_flag == True: #i jump 13 break #双层跳出