Python 练习实例18

[复制链接]
779|0
 楼主| cooldog123pp 发表于 2021-1-25 10:44 | 显示全部楼层 |阅读模式
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
程序分析:关键是计算出每一项的值。
程序源代码:
实例(Python 2.0+)
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. Tn = 0
  4. Sn = []
  5. n = int(raw_input('n = '))
  6. a = int(raw_input('a = '))
  7. for count in range(n):
  8.     Tn = Tn + a
  9.     a = a * 10
  10.     Sn.append(Tn)
  11.     print Tn

  12. Sn = reduce(lambda x,y : x + y,Sn)
  13. print "计算和为:",Sn
实例(Python 3.0+)
  1. #!/usr/bin/python
  2. from functools import reduce

  3. Tn = 0
  4. Sn = []
  5. n = int(input('n = '))
  6. a = int(input('a = '))
  7. for count in range(n):
  8.     Tn = Tn + a
  9.     a = a * 10
  10.     Sn.append(Tn)
  11.     print (Tn)

  12. Sn = reduce(lambda x,y : x + y,Sn)
  13. print ("计算和为:",Sn)
以上实例输出结果为:
  1. n = 4
  2. a = 4
  3. 4
  4. 44
  5. 444
  6. 4444
  7. 计算和为: 4936




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

本版积分规则

2304

主题

7626

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部