当前位置: 代码迷 >> 综合 >> 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
  详细解决方案

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

热度:7   发布时间:2024-02-10 09:24:19.0

今天学习了pyth100例中的第十八题

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

自己没看答案实现了功能
之后发现于网站答案不一样
逻辑也不同
所以记录一下
请大家指点,指出不足
这是我的代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @ Time :2020/8/12 22:43
# @ Author :BT烤翅
"""题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。 程序分析:关键是计算出每一项的值。"""a = int(input('请输入要计算的数字:'))
n = int(input('请输入要计算的次数:'))
s = 0
for i in range(1, n + 1):x = int(str(a) * i)print(x)s += x
print('和是{}'.format(s))

以下是网站的答案:

#!/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 + aa = a * 10Sn.append(Tn)print TnSn = reduce(lambda x,y : x + y,Sn)
print "计算和为:",Sn
  相关解决方案