初学python算法100例-案例17 输出并计算n个 逐项数字
Posted 技术专家团-小兔子编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学python算法100例-案例17 输出并计算n个 逐项数字相关的知识,希望对你有一定的参考价值。
题目:输出并计算
求s=a+aa+aaa+aaaa+aa...a的值,a是一个数字,然后在输入一个数字n,n控制有几项
输出结果:逐行输出每一项,并求出最后的和
例如输入:a=5,n=5
输出为:
解法1 常规思路
程序分析
1、将输入的a开始作为字符输入
2、然后循环遍历n层,每层对a进行字符串乘
3、然后将每层的的到的字符串进行输出
4、同时对字符串进行转化求和运算
5、最后输出这个和值
源代码:
a=input('请输入计算数:a = ')
n=eval(input('请输入层数:n = '))
s=0
for i in range(1,n+1):
num=a*i
s+=eval(num)
print(num)
print('计算和为:{}'.format(s))
运行结果:
解法2 reduce函数
程序分析
1、按题目要求将n个a的每一项进行转化
2、比如第一个就是a,第二个就是a*10+a...
3、得到的每个数加入到列表中,并输出每个数
4、通过reduce对列表中的元素进行求和
5、最后输出这个和值
源代码:
from functools import reduce
number = 0
sn = []
a = int(input('请输入 a = '))
n = int(input('请输入 n = '))
for count in range(n):
number = number + a
a = a * 10
sn.append(number)
print (number)
sn = reduce(lambda x,y : x + y,sn)
print ("计算和为:",sn)
运行结果:
还有更多其他的解法,欢迎一起交流学习
以上是关于初学python算法100例-案例17 输出并计算n个 逐项数字的主要内容,如果未能解决你的问题,请参考以下文章