|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def howManyChick():
- """
- :return:
- """
- for i in range(0, 100):
- for j in range(0, 100):
- for k in range(0, 100):
- if i*5+j*3+k/3 == 100 and i+j+k == 100:
- print('公鸡的数量是 {} ,母鸡的数量是 {} ,小鸡的数量是 {} 。'.format(i, j, k))
复制代码
这段代码能得到正确答案,但是下面的确得不到,不解,请帮忙指点。
- def howManyChick():
- """
- :return:
- """
- for i in range(0, 100):
- for j in range(0, 100):
- for k in range(0, 100):
- if i*5+j*3+k/3 == 100 and i+j+k == 100:
- print('公鸡的数量是 {} ,母鸡的数量是 {} ,小鸡的数量是 {} 。'.format(i, j, k))
- break
- else:
- print('没有解!')
- return 0
复制代码
这是为啥?
因为函数中第一次循环就执行到了 else 的 return
要知道:函数中只要遇到 return 这个函数就运行结束了,所以第一次循环就执行到了 else 的 return ,循环终止,导致只打印了一次没有解
另外这里就算删除 return 也会导致你 else 中的 print 函数 打印过多而把 if 中的 print 刷上去
所以不建议这样在循环中这样打印,因为 for 循环需要执行 10 的5次方左右的次数
|
|