0 Python 练习实例18 - - 21ic电子技术开发论坛
打印

Python 练习实例18

[复制链接]
423|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cooldog123pp|  楼主 | 2021-1-25 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
程序分析:关键是计算出每一项的值。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-

Tn = 0
Sn = []
n = int(raw_input('n = '))
a = int(raw_input('a = '))
for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)
    print Tn

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

Tn = 0
Sn = []
n = int(input('n = '))
a = int(input('a = '))
for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)
    print (Tn)

Sn = reduce(lambda x,y : x + y,Sn)
print ("计算和为:",Sn)
以上实例输出结果为:
n = 4
a = 4
4
44
444
4444
计算和为: 4936




使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1922

主题

6604

帖子

30

粉丝