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)