一、while 循环
1.while循环:
语法:
while 表达式:
表达式成立执行的代码...
迭代(趋向终止)
""" 案例:猜数字的游戏: 1.随机生成一个数字[1,100] random 2.输出猜想的数字 input() if - elif - else 猜大了,再小点 猜小了,再大点 猜中了 统计猜中的次数: 根据次数评级: if - elif - else 1-4 超神 5-7 正常 8+ 脑子是个好东西 """ # 猜数字游戏 import random print("----------------- 猜数字小游戏 ------------------") rand_num = random.randint(1,100) # 用来控制循环是否结束 End = True # 用来记录猜测的次数 count = 0 while End: num = int(input("请输入1-100范围内您猜测的数字:")) # 猜测次数的记录,+1 count += 1 if num > rand_num: print("很遗憾,有点太大了...") elif num < rand_num: print("很遗憾,有点太小了...") else: print("恭喜您,第{}次就猜中了!".format(count)) # 1,结束循环 End = False # 2.根据猜测次数评级 if count >= 1 and count <= 4: print("根据全国大数据显示,此次评级结果为:超神,你很牛啊兄弟!") elif count >= 5 and count <= 7: print("根据全国大数据显示,此次评级结果为:您已将到达了正常人的智商水准,还仍需继续努力!") else: print("根据全国大数据显示,此次评级结果为:回家洗洗睡吧,脑子是个好东西!")
2.循环嵌套:
外循环:
内循环:
while 条件:
while 条件:
内循环的代码
外循环执行一次,内循环要执行一遍
i = 0 while i < 3: print("我是外循环",i) j = 0 while j < 3: print("我是内循环",j,end="\t") j += 1 print() i += 1
二、for 循环
1.for 循环
语法:
for i in range(start,end,step)
注意:
range(1,10) ==> [1,10)
random.randint(1,10) ==> [1,10]
# while循环打印1-9的数字 print("while循环打印1-9的数字:") i = 1 while i <= 9: print(i,end="\t") i += 1 # for循环打印1-9的数字 print("\nfor循环打印1-9的数字:") for x in range(1,10): print(x,end="\t")
2.for 循环的嵌套
外循环:
内循环:
for 条件:
for 条件:
内循环的代码
外循环执行一次,内循环要执行一遍
for i in range(3): print("我是外循环",i) for j in range(3): print("我是内循环",j,end="\t") print()
三、循环控制(break、continue)
break
结束(当前)循环
continue
跳过本次循环中的后续代码
注意:
如果遇到嵌套循环的情况,break结束的是当前内循环,不会影响外循环
1.循环控制中break
# 循环控制中break print("循环控制中break:") for i in range(10): print(i,end="\t") if i == 5: # 结束(当前)循环 break print("第%d次循环"%i)
2.循环控制中continue
# 循环控制中continue print("\n循环控制中continue:") for i in range(10): print(i,end="\t") if i == 5: # 跳过本次循环中的后续代码 continue print("第%d次循环" % i)
3.嵌套循环中的循环控制,break
# 嵌套循环中的循环控制 for i in range(3): print("\n------------- 我是外循环 %d -----------"%i) for i in range(10): print(i,end="\t") if i == 5: # 结束(当前)循环,即break结束的是当前内循环,不会影响外循环 break print("第%d次循环"%i)
以下结果,可以尝试自己执行下
# while 循环实现九九乘法表 i = 1 line = 9 while i <= line: j = 1 while j <= i: print("{0} * {1} = {2}".format(j,i,i*j),end="\t") j += 1 print() i += 1 # for循环实现99乘法表 for i in range(1,10): for j in range(1,i+1): print("{0} * {1} = {2}".format(j, i, i * j), end="\t") print()
# 倒的99乘法表 print("倒的99乘法表:") for i in range(1,10).__reversed__(): for j in range(1,i+1): print("{0} * {1} = {2}".format(j, i, i * j), end="\t") print()
----*
---***
--*****
-*******
# 正三角 line = 4 for i in range(line): # 打印每一行的"-" for j1 in range(line-i): print("-",end="") # 打印每一行中的"*" for j2 in range(2*i+1): print("*",end="") print()
----*
---***
--*****
-*******
--*****
---***
----*
# 打印菱形 # 1.正三角 line = 4 for i in range(line): # 打印每一行的"-" for j1 in range(line-i): print("-",end="") # 打印每一行中的"*" for j2 in range(2*i+1): print("*",end="") print() # 2.倒三角 for i in range(line-1).__reversed__(): # 打印每一行的"-" for j1 in range(line-i): print("-",end="") # 打印每一行中的"*" for j2 in range(2*i+1): print("*",end="") print()
原文:https://www.cnblogs.com/REN-Murphy/p/13870426.html