while,for 循环控制

1.1双向循环控制流程

i  = 0
while i > 10:
    #外层循环
    j = 10
    while j < 0:
        #内层循环
        j -= 1
    i += 1

  

1.1.1 双向循环练习------- >打印小心心

# 十行十列隔列换色 实例 :"★","☆"
n = 0
while n < 10 :
    x = 0
    while x < 10 :
        if x % 2 == 1 :
            print("★",end="")
        else:
            print("☆",end="")
        x += 1
    print()
    n += 1
​
# 十行十列隔行换色
n = 0
while n < 10 :
    x = 0
    while x < 10 :
        if n % 2 == 1 :
            print("★",end="")
        else:
            print("☆",end="")
        x += 1
    print()
    n += 1

  

1.1.2 双向循环练习------- >九九乘法表

#正
stavar = 1      # 循环开始第一个数为 1
while stavar <= 9:   # 第一个数范围是 1~9
    endvar = 1       # 第二个数每一行开始为1
    while endvar <= stavar:   # 当第二个数小于等于第一个数的时候打印
        print(stavar, '*', endvar, '=', stavar * endvar, end="	")
        endvar += 1          # 第二个数自加 1
    print()                # 循环完内层后
    stavar += 1
#倒
stavar = 9
while stavar >= 1:
    endvar = 1
    while endvar <= stavar:
        print(stavar, '*', endvar, '=', stavar * endvar, end="	")
        endvar += 1
    print()
    stavar -= 1

  

1.2.3 升级版九九乘法表

# 倒正
endvar = 9
while endvar >= 1:
    stavar = endvar
    while stavar >= 1:
        print("%d%s%d%s%2d"%(stavar,"*",endvar,"=",stavar*endvar),end="	")
        # print(stavar, '*', endvar, '=', stavar * endvar, end="	")
        stavar -= 1
    print("	")
    endvar -= 1
# 倒反
stavar = 9
while stavar >= 1:
    endvar = stavar
    print("       " * (9-stavar),end="")
    while endvar >= 1:
        print("%d%s%d%s%2d"%(stavar,'*',endvar,'=',stavar * endvar,),end=" ")
        # print(stavar, '*', endvar, '=', stavar * endvar, end="	")
        endvar -= 1
    print()
    stavar -= 1
1.2.4 吉利数字
i = 100
​
while i < 1000:
    gewei = i % 10
    shiwei = i // 10 % 10
    baiwei = i // 100
​
    if gewei == shiwei == baiwei:  # 如果个十百位都相等
        print(i)
    elif gewei + 1 == shiwei == baiwei - 1:  # 例如 543
        print(i)
    elif gewei - 1 == shiwei == baiwei + 1:  # 例如 345
        print(i)
​
    i += 1

  

1.2.5 百元买百鸡

"""
公鸡x 母鸡y 小鸡z
公鸡1块钱1只,母鸡3块钱一只,小鸡5毛钱一只
问: 用100块钱买100只鸡,有多少种买法?        # 21种
"""
# 示例一
i = 0    # i 表示公鸡的个数
count = 0    # 计数
while i <= 100:
    j = 0     # j 表示母鸡个数
    while j <= 33:
        z = 0    # z 表示小鸡个数
        while z <= 100:
            if i + 3*j + z/2 == 100 and i + j + z == 100:
                print('母鸡%s只,公鸡%s只,小鸡%s只' % (i, j, z))
                count += 1
            z += 1
        j += 1
    i += 1
​
print('一共%s种方案' % count)
​
​
# 示例二
i = 0    # i 表示公鸡的个数
count = 0    # 计数
while i <= 100:
    j = 0     # j 表示母鸡个数
    while j <= 33 and j <= 100-i:      # 已经买了i只公鸡,母鸡最多100-i只
        if i + 3*j + (100-i-j)/2 == 100:
            print('母鸡%s只,公鸡%s只,小鸡%s只' % (i, j, (100-i-j)))
            count += 1
        j += 1
    i += 1
​
print('一共%s种方案' % count)

 

1.2 pass , break ,continue

1.2.1 pass

# 不执行任何操作
# 保持程序结构的完整行
​
while Ture:
    # unexpected EOF while parsing  -----> 解析意外,找不到接收符,此时可以使用 pass

  

1.2.2 break

# 终止当前循环
# 示例一
flag = True
while flag :
    n = 0
    while n < 10 :
        if n == 5 :
            break         # 终止 n < 10 这个循环 继续执行外层循环,此时 n = 5 ,死循环
        n +=1  
# 示例二
flag = True
while flag :
    n = 0
    while n < 10 :
        if n == 5 :
            break        # 终止 n < 10 这个循环 继续执行外层循环,此时 n = 5 ,死循环
    break                # 终止外层循环
        n +=1  

  

1.2.3 continue

# 跳过本次循环,从下一次循环开始,continue后面代码不执行,
# 示例一
num = 1
while num < 10 :
    if num == 5 :
        continue           # 跳过 5 然后继续输出
    print(num)
    num += 1              # 由于 continue 后面代码不执行,所以num 一直等于 5,只能输出 1 ~ 4 ,死循环
    
# 实例二
num = 1
while num < 10 :
    if num == 5 :
        num += 1          # 由于 continue 后面代码不执行,所以将 num 放到这里继续累加
        continue           # 跳过 5 然后继续输出
    print(num)
    num += 1              # 当 num = 5 ,此时此处的 num 不再累加
​

  

1.3 for

# 公式 ------>  for i in ("容器数据类型","range","迭代器")
# 1、容器数据类型 (str,list,tuple,set,dicr)
dict = {"name":"bajie","age":18,}
for i in dicr :
    print(i)              # 只打印字典的key
    
# 2、range(开始值,终止值,步长)  ------> Python区间取值,取不到终止值
for i in range(1,10,3)
    """
    1           一
    1 + 3 = 4    二
    4 + 3 = 7    三
    7 + 3 = 10  取不到
    """
    print(i)
for i in range(10,1,-4):
    """
    10          一
    10 - 4 = 6   二
    6  - 4 = 2   三
    2  - 4     取不到
    """
    print(i)

  

 

原文地址:https://www.cnblogs.com/zhoulangshunxinyangfan/p/13281530.html