python基础语法 - 循环

while循环

1.基本语法

while 条件:
  ……
  if 条件:
    continue # 条件满足跳过当次循环
  if 条件
    break # 条件满足中止循环

else: # 只有当while循环结束后,才会执行else下面的语句
 ……

  ctrl + c 退出循环

2.循环的嵌套

while 条件:
    ……
    while 条件:
        ……

3.示例(使用 # 号 输出一个长方形,用户可以指定宽和高)

length = int(input('please input length:'))
heigh = int(input('please input heigh:'))

num2 = 0
while num2 < heigh:
    num1 = 0
    while num1 < length:
        print('#', end='')
        num1 += 1
    print()
    num2 += 1
View Code

for循环

1.基本语法

for i in range(3):
    print (i)

range(3)
[0,1,2]

range(1,3)
[1,2]

  i 相当于临时变量

  将 [0,1,2] 依次赋值给临时变量 i 

# 方法1:
for i in range(100):
    if i % 2 == 1:
        print (i)

# 方法2:
for i in range(1,101):
    if i % 2 != 0:
        print (i)

# 方法3:
for i in range(1,101,2):
        print (i)
范例:取得0-100中的奇数
_user = 'alex'
_passwd = 'abc123'

passed_authentication = False # flag = 标志位

for i in range(3):
    username = input('Username:')
    password = input('Password:')

    if username == _user and password == _passwd:
        print ('Welcome %s login...' %_user)
        passed_authentication = True
        break # 中断,跳出当前循环
    else:
        print('Invalid username or password!')

if not passed_authentication:
    print('您的用户已被锁定!')
范例:模拟用户登陆
_user = 'alex'
_passwd = 'abc123'

passed_authentication = False # flag = 标志位

for i in range(3):
    username = input('Username:')
    password = input('Password:')

    if username == _user and password == _passwd:
        print ('Welcome %s login...' %_user)
        break # 中断,跳出当前循环
    else:
        print('Invalid username or password!')

else: # 只要上面的for循环正常执行完毕,中间没被打断,就会执行else语句
    print('您的用户已被锁定!')
范例:优化模拟用户登陆

2.循环中的contitnue与break

for i in range(10):
    if i < 5:
        continue #结束本次循环,继续下一次循环
    print (i)
    for j in range(10):
        print('layer2:',j)
        if j == 6:
            break #中断、跳出当前循环

3.标志位介绍

xit_flag = False #设置标志位

for i in range(10):
    if i < 5:
        continue #结束本次循环,继续下一次循环
    print (i)
    for j in range(10):
        print('layer2:',j)
        if j == 6:
            exit_flag = True #通过设置标志位,当内层循环中断时,外层循环也中断
            break
    if exit_flag:
        break

 

posted @ 2018-01-26 11:01  皮蛋小顽童  阅读(274)  评论(0编辑  收藏  举报