题目描述:
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
解题思路:
> 本题主要利用了reduce函数 > reduce(fn,list) > 第一个参数为函数,表示要操作的,第二个为要操作的可迭代对象
代码:
import functools sum=0 sn=[] n=int(input()) a=int(input()) for i in range(n): sum=sum+a a*=10 sn.append(sum) sn=functools.reduce(lambda x,y:x+y,sn) print(sn)