Python100例-99-100

100-数列求项,求和

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

程序分析:关键是计算出每一项的值。

练习:循环的逻辑关系,

循环结束点对应值,根据每执行一次循环对应的a和i的值判断,输入时的值和输出时的值

a和Tn和Sn之间的关系:

  • a(构成项的数):每循环一次x10,每次循环得到一个进一位的值,把每次循环得到的a相加得到Tn
  • Tn(项):Tn=Tn+a
  • Sn(和):Sn=Sn+Tn

方法1:

a = int(input('输入一个数:'))
n = int(input('计算前几项和:'))
l = []
i = 1
Tn = 0
Sn = 0
while i < n+1 :
    Tn = Tn + a
    l.append(Tn)
    Sn = Sn + Tn
    a = a*10
    i = i+1
print(l)
print(Sn)


>>> python .\test.py
输入一个数:4
计算前几项和:4
[4, 44, 444, 4444]
4936

 

你可能感兴趣的:(Python)