python3练习100题——018

Posted Drifter_y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3练习100题——018相关的知识,希望对你有一定的参考价值。

原题链接: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的主要内容,如果未能解决你的问题,请参考以下文章

python3练习100题——028

python3.0练习100题——001

python3练习100题——022

python3练习100题——008

018.查询练习50题(sql实例)

python3练习100题——011