• 第一个博客——python通过值传递函数参数


    功能:银行账户计算利率(python实现)

    部分代码:

             def addInterest(balance, rate):

                      newBalance = balance * (1 + rate)

                      balance = newBalance

            

             def test():

                      amount = 1000

                      rate = 0.05

                      addInterest(amount, rate)

                      print(amount)

             test()

    问题描述:运行代码后,输出的值并未发生改变。

    问题分析:test()函数中,调用addInterest(amount, rate)函数时,创建形式参数amount, rate并将amount赋值为1000,rate赋值为0.05。在执行addInterest()函数时,函数内创建局部变量newBalance,并为其赋值1050,之后将newBalance值赋给形参amount。

             函数addInterest()执行结束后,函数内部局部变量、形式参数被销毁,此时输出的rate只保存了之前的0.05,因此最终输出的值不发生改变。

    解决办法:修改函数addInterest(),使其将处理后的变量返回,通过值传递参数:

             def addInterest(balance, rate):

                      newBalance = balance * (1 + rate)

                      return newBalance

  • 相关阅读:
    C/C++多文件之间的变量定义
    PKU POJ 2186 Popular Cows 强连通分量
    重载函数
    ZOJ 2763 Prison Break
    201357 训练赛总结
    hdu 4467 Graph 构造
    201356 训练赛总结
    201353 NEERC 2012, Eastern subregional contest
    2013512 CF 183 总结
    一道动态规划
  • 原文地址:https://www.cnblogs.com/znnby1997/p/8544675.html
Copyright © 2020-2023  润新知