Python 練習例18
問題:s=a+aa+aaa+aaaa+aa...a の値を求めます。ここで a は1桁の数字です。例えば 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その他の拡張