码迷,mamicode.com
首页 > 编程语言 > 详细

python3练习100题——018

时间:2018-06-05 15:42:18      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:oob   个数   www   一个   ...   求和   循环   man   python3   

原题链接: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

标签:oob   个数   www   一个   ...   求和   循环   man   python3   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!