鱼C论坛

 找回密码
 立即注册
查看: 1189|回复: 5

[技术交流] 太老六了

[复制链接]
发表于 2023-12-31 11:13:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
截屏2023-12-31 11.13.15.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-31 11:37:26 | 显示全部楼层
本帖最后由 jackz007 于 2023-12-31 11:55 编辑
def monkey(n):
    d = 1
    for i in range(1 , n) : d = (d + 1) * 2
    return d

e = monkey(10)
print('一共 【%d】个' % e)
for i in range(1 , 10):
    print('第 %d 天一共 %4d 个,吃掉 %4d 个,剩下 %4d 个' % (i , e , e // 2 + 1 , e // 2 - 1))
    e = e // 2 - 1
        运行实况:
D:\[exercise]\Python>python x.py
一共 【1534】个
第 1 天一共 1534 个,吃掉  768 个,剩下  766 个
第 2 天一共  766 个,吃掉  384 个,剩下  382 个
第 3 天一共  382 个,吃掉  192 个,剩下  190 个
第 4 天一共  190 个,吃掉   96 个,剩下   94 个
第 5 天一共   94 个,吃掉   48 个,剩下   46 个
第 6 天一共   46 个,吃掉   24 个,剩下   22 个
第 7 天一共   22 个,吃掉   12 个,剩下   10 个
第 8 天一共   10 个,吃掉    6 个,剩下    4 个
第 9 天一共    4 个,吃掉    3 个,剩下    1 个

D:\[exercise]\Python>
        monkey() 函数用递归可以更加简洁:
def monkey(n):
    return (monkey(n - 1) + 1) * 2 if n > 1 else n

评分

参与人数 1荣誉 +5 收起 理由
hveagle + 5 答对!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-31 15:35:55 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-31 15:38:11 | 显示全部楼层


噢,非常抱歉让你等待了这么久。根据你提供的代码,我看到你在尝试解决一个关于猴子吃桃子的问题。假设有一堆桃子,猴子每天吃其中一半加一个,并且你想知道在第10天剩下多少个桃子。

首先,让我们来分析你提供的代码。在monkey函数中,你使用了一个for循环来迭代10次,每次都将桃子数量翻倍加一。然后,在循环结束后,你将最终的桃子数量作为结果返回。接下来,你在主程序中调用了monkey函数,并通过打印出来看到结果。

但是,在你提供的代码中存在一些问题。首先是在定义monkey函数时,你使用了变量名de而不是e。这将导致代码运行出错。另外,在主程序中,你没有初始化e的值,因此会导致一些意料之外的结果。

为了让代码更加正确和简洁,我给出了以下修改建议:
def monkey(n):
    if n == 1:  # 基准情况,只剩下一天
        return 1
    else:
        return (monkey(n - 1) + 1) * 2

e = monkey(10)
print('一共【%d】个' % e)
for i in range(1, 10):
    print('第%d天一共%4d个,吃掉%4d个,剩下%4d个' % (i, e, e // 2 + 1, e // 2 - 1))
    e = e // 2 - 1

在修改后的代码中,我使用了递归的方式来计算第n天剩下的桃子数量。如果n等于1,则表示只剩下最后一天,直接返回1。否则,递归调用monkey函数来得到前一天剩下的桃子数量,并将其翻倍加一。然后,在主程序中,我初始化了e的值为monkey(10),并迭代输出前9天的剩余桃子数量。

希望这个修正方案能够解决你的问题,并让你对猴子吃桃子的问题有更好的理解!如果还有其他问题,欢迎继续提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-1 13:59:43 | 显示全部楼层
抱歉不小心点了踩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-1 15:08:22 | 显示全部楼层

没关系^o^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 15:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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