Python 练习实例18
python 练习实例18
题目:求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