首页 > 其他 > 详细

双向循环及pass、break、continue的使用以及for循环

时间:2020-07-11 22:08:07      阅读:50      评论:0      收藏:0      [点我收藏+]

"""
公鸡x 母鸡y 小鸡z
公鸡1块钱1只,母鸡3块钱1只,小鸡5毛钱1只
问:用100块钱买100只鸡,有多少种买法?
"""
"""
穷举法:把数拿出来,一个一个试
x{1,2}
y{3,4}
z{5,6}
x+y+z=10 列出来
1+3+5=9 不要
1+3+6=10 要
1+4+5=10 要
1+4+6=11 不要


2+3+5=1 要
2+3+6=11 不要
2+4+5=11 不要
2+4+6=12 不要
"""

"""
# 两个条件同时满足
x+y+z = 100
x*1 + y*3 + z*0.5 = 100
"""

# 公鸡
x=0
count=0
while x<=100:

# y母鸡
y=0
while y<=33:

# 小鸡
z=0
while z<=100:
if x+y+z == 100 and x*1 + y*3 + z*0.5 == 100:
count+=1
print(x,y,z)
z+=1

y+=1

x+=1

print(count)

 

 

 

改写成for循环:

count = 0
for x in range(0,101):
for y in range(0,34):
for z in range(0,101):
if x+y+z == 100 and x*1 + y*3 + z*0.5 == 100:
count+=1
print(x,y,z)
print(count)

 

 

 

pass break continue:

pass 过(占位):

if 10 == 10:
print(123)

while True:
pass

 

break 终止当前循环:

i=1
while i<=10:
if i==5:
break
print(i)
i+=1

 

coutinue 跳过当前循环,从下一次循环开始

while i<=10:
if i==5:
# 需手动自增加1,当执行continue时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环
i+=1
continue
print(i)
i+=1

 

 

 for 循环
遍历,循环,迭代

for主要用于遍历数据而提出,while在遍历数据时有局限性
for 变量 in 可迭代对象:
code1
code2
可迭代对象(容器类型数据,range对象,迭代器)

while:较为复杂的逻辑
for :数据的遍历
while 和 for 部分代码可以互相转换

 

# 遍历等长的二级容器
container == [("王健林","王思聪","王美丽"),("马云","马化腾","马生平"),("王宝强","马蓉","宋喆")]
for a,b,c in container:
print(a,b,c)
# a,b,c = ("王健林","王思聪","王美丽")
# a,b,c = ("马云","马化腾","马生平")
# a,b,c = ("王宝强","马蓉","宋喆")

 

#遍历不等长二级容器
container = [["刘聪","毛洪磊","余睿","张家豪"],("崔文君","张杰")]

for i in container:
#print(i)
for j in i:
print(j)

 

双向循环及pass、break、continue的使用以及for循环

原文:https://www.cnblogs.com/liya1014/p/13285509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!