Python循环嵌套 | #百钱买百鸡问题#

百钱买百鸡问题

http://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b

直接print答案的也太秀了吧,循环不难写,但是题目中以下要求容易被忽略:

  1. 判断输入是否为整数,不要直接用 n = int(input()),输入非数字的时候会报错,经评论区提示,用 isdigit 判断是个比较好的方法;
  2. 返回的结果也没有像之前一样储存在列表中了,直接用print打印;
  3. 评论区有各种for循环不同的范围,我觉得这是人为计算和用程序计算的界限问题,我们应该进行多少人为的计算?鸡雏可以是0到84(最大量的人为计算),可以是0到100,我最开始写的遍历0到300(100块可以买300只)。到300可以说是多余的计算,84算出来也比较麻烦,最后还是直接按题目条件来,不进行人为计算,每种鸡都遍历0到100。
while True:
    try:
        n = input()
        if n.isdigit:
            n = int(n)
            for jw in range(101):
                for jm in range(101):
                    for jc in range(101):
                        if jw + jm +jc == 100 and 5*jw + 3*jm + (1/3)*jc == 100:
                            print(jw, jm, jc)
        else:
            print("输入的不是整数")
    except:
        break
全部评论
你循环太多了 两个就可以了
1
送花
回复
分享
发布于 2022-01-14 15:24
要根据限制条件,缩小鸡公鸡母鸡雏的范围,鸡雏最多买84只,超过了就不能满足限制条件
点赞
送花
回复
分享
发布于 2021-07-24 16:44
秋招专场
校招火热招聘中
官网直投
jc=100-x-y缩小范围,301是来搞笑的吗?
点赞
送花
回复
分享
发布于 2022-04-04 13:01
n = input() if n.isdigit(): ## 判断n是否为整数
点赞
送花
回复
分享
发布于 2022-05-17 15:01
第一点提醒得好
点赞
送花
回复
分享
发布于 2023-06-16 21:32 广东

相关推荐

12 3 评论
分享
牛客网
牛客企业服务