刷手感的Python练习题(8-13)

本文通过8个Python练习题探讨递归和循环的运用,涉及数字序列求和、猴子吃桃问题、阶乘求和、字符串反转、数组降序排序及字符串分隔等。通过实例加强函数思维和基础编程技能。
摘要由CSDN通过智能技术生成

8、求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

  • 碎碎念:最开始看到这个题,第一反应肯定采用递归,后来做到中间的时候,发现有个思维误区:递归函数求得的结果是一个个独立的数,而这些散点数之间是存在某种规律性关系,即递归关系是自己和自己建立关系。而这道题是以递归函数为基础的散点数之间的和,就需要第二步操作,采用循环添加或列表sum()函数求的最终的解。
n = int(input('n次幂:'))
x = int(input('x数:'))
def fn(n):
    if n == 1:
        return x
    else:
        return x * pow(10, n-1) + fn(n-1)
fnt = fn
total = sum([fnt(i) for i in range(1, n+1)])
print(total)

9、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值