美文网首页
Python实战:四周实现爬虫系统Q群讨论笔记1

Python实战:四周实现爬虫系统Q群讨论笔记1

作者: 青青克里丝 | 来源:发表于2016-03-03 17:18 被阅读0次

    问题,关于魔力教程里面复利题目。

    t = 1
    while t <= 8:
        amount = 100
        amount = amount * (1+0.05) ** t
        print 'year' + ' ' + str(t) + ': $' + str(amount)
        t += 1
        print amount
        print t
    

    这段代码如果放到函数中

    def invest(amount, rate, time):
         amount = int(raw_input("principal amount:"))
         t = 1
         while t <= time:
             amount = amount * (1+rate) **t
             print 'year' + ' ' + str(t) + ': $' + str(amount)
             t += 1
             print amount
    invest(100, 0.05, 8)
    

    不把**t去掉会变大

    老师解答

     amount = 100
     amount = amount * (1+0.05) ** t
    

    原因就在这里
    自己运行的代码,在while循环里面,每次都设置amount = 100
    而函数里面,while循环里面的amount 每次都会改变的
    可以修改如下

    QQ图片20160303170657.png
    QQ图片20160303170717.png

    a
    第二个例子的_amount = amount不懂
    b
    因为你原来的代码:amount = amount * (1+rate) **t
    b
    这个右边amount每次都是不一样的,加上amount=_amount后每次都设置他为100,就不会改变了
    b
    _amount保存的是传进来的100
    a
    就是说不在函数里面的时候,每个循环的初始,都会自动设成100,而在函数里面的时候,如果invest(100)调用,只是在第一遍的时候,100。后面就取函数内部的值了吗
    b
    是的

    相关文章

      网友评论

          本文标题:Python实战:四周实现爬虫系统Q群讨论笔记1

          本文链接:https://www.haomeiwen.com/subject/hkfokttx.html