|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请教大神,以下代码中,最后一行的print("现在需要存入的金额:",pv(fv,i,age_n,age_r))为什么不能换成print("现在需要存入的金额:",p)?
这样最初设置P这个变量就没有用了。
- def pv(fv,i,age_n,age_r):
- p = round(fv*(1+i)**(age_n-age_r),2)
- return p
- while True:
- try:
- fv = float(input("请输入退休时的养老金额:"))
- i = float(input("请输入利率:"))
- age_n = float(input("请输入您现在的年龄:"))
- age_r = float(input("请输入您退休时的年龄:"))
- break
- except:
- print("您的输入有误,请重新输入数值!")
- continue
- print("现在需要存入的金额:",pv(fv,i,age_n,age_r))
复制代码
代码中的 `p` 是局部变量,它只在 `pv` 函数内部存在,并被用于存储计算的结果。在函数外部直接调用 `p` 是不可行的,因为它在外部不存在。
在最后一行中,你尝试用 `p`,会导致错误是因为 `p` 没在这个作用域中定义。如果想在 `print` 中直接使用 `p`,需要在调用 `pv` 函数时先将它的返回值赋给一个变量,如下:
- 存入金额 = pv(fv, i, age_n, age_r)
- print("现在需要存入的金额:", 存入金额)
复制代码
这样你就可以使用 `存入金额` 变量代替函数调用。最初设置 `p` 作为 `pv` 函数内部的局部变量是为了清晰地表示该值的用途。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|