首页 > 编程语言 > 详细

python3练习100题——018

时间:2018-06-05 14:40:24      阅读:213      评论:0      收藏:0      [点我收藏+]

原题链接:http://www.runoob.com/python/python-exercise-example18.html

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

分析:求和很容易,关键是计算出每一项的值。我用了循环来迭代计算每一项的值。

我的代码:

def fun():
    a=int(input("please input a number:"))
    b=int(input("How many numbers to add:"))
    c=a
    total=0
    while b >0:        #用wihle循环,计算出每项,并累加
        print(c)
        total +=c
        c=c*10+a       #用c迭代出每项的值,a要保留做个位!
        b-=1
    return total


if __name__ ==__main__:
    print(fun())
        

思考:

看到原题的答案,是先用循环将每项算出来,再用reduce函数累加。

而我写的代码能够在每一次循环中算出一项,再加起来,其实更方便。

python3练习100题——018

原文:https://www.cnblogs.com/drifter/p/9139395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!