找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3081|回复: 1

小白求助:Python五人分鱼的例子

1

主题

1

帖子

1

积分

贫民

积分
1
junzw2011 发表于 2021-10-12 23:09:31 | 显示全部楼层 |阅读模式

例题如下:

def main():
    fish = 1
    while True:
        total, enough = fish, True
        for _ in range(5):
            if (total - 1) % 5 == 0:
                total = (total - 1)  //  5 * 4
            else:
                enough = False
                break
        if enough:
            print(f'总共有{fish}条鱼')
            break
        fish += 1


if __name__ == '__main__':
    main()

第一个问题:1.total, enough = fish, True;这个语句的意思是total=fish ,enough = True吗?把fish赋给total,把true赋给enough?

第二个问题:2.if (total - 1) % 5 == 0:
                total = (total - 1)  //  5 * 4

以上两句是这样吗:total=1,所以(total - 1) % 5 == 0,if成立所以运行total = (total - 1)  //  5 * 4,total=0.那么下一步运行哪个语句?

如果运行if enough:            print(f'总共有{fish}条鱼')  ,那不是输出1条鱼吗?


回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
wx_ugHy2ZPC 发表于 2021-11-8 15:58:29 | 显示全部楼层
第一个问题,是的。
第二个问题,for语句最多会循环五遍(因为有一些中间跳出循环),只有五次循环都为true才会输出,下一步是total=0再进行一次循环,这个就不符合条件,跳出此次循环,fish+1,直至五次循环都满足条件,循环结束输出数值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表