"""
公鸡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