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

from functools import reduce

n = int(input('请输入加数个数:'))
m = int(input('请输入数字:'))
a=m
str = []
for i in range(n):
    print(m)
    str.append(m)
    m = m *10 +a

sum = reduce(lambda x,y:x+y,str)
print('总和为:%d'%sum

两个注意点:①reduce函数:从左到右对一个序列(str)的项累计地应用有两个参数的函数(lambda x,y:x+y),以此合并序列到一个单一值。②lambda :匿名函数声明,冒号前是形参,如果没有形参可以省略,冒号后是表达式或者语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值