初学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个 逐项数字的主要内容,如果未能解决你的问题,请参考以下文章

初学python算法100例-案例23 输出菱形

初学python算法100例-案例22 居中输出三角形

初学python算法100例-案例28 逆序输出每位数字

初学python算法100例-案例9 间隔1秒输出结果

初学python算法100例-案例28 逆序输出每位数字

初学python算法100例-案例30 计算闰年