|
发表于 2020-7-23 14:27:24
|
显示全部楼层
本楼为最佳答案
请看代码。
第一:
- def discount(price,rate):
- # 在执行这条语句时 price 使用的是给定参数中的 price
- final_price = price * rate
- # 这条语句并没用被使用到,就算删除掉结果也是一样的
- price = 80
- return final_price
- price = float(input('输入商品原价格:'))
- rate = float(input('请输入商品折扣:'))
- last_price = discount(price,rate)
- print('商品的最后价格是:', last_price)
复制代码
第二:
- def discount(price,rate):
- # 创建了一个局部变量 price 覆盖了在函数调用时给定的参数 price
- price = 80
- # 在执行这条语句时 price 是在函数中创建的局部变量
- final_price = price * rate
- return final_price
- price = float(input('输入商品原价格:'))
- rate = float(input('请输入商品折扣:'))
- last_price = discount(price,rate)
- print('商品的最后价格是:', last_price)
复制代码
代码纯手打,
你的问题并不是函数中创建的局部变量修改了全局变量,而是函数中的局部变量覆盖了在函数调用时给定的参数,所以才出现了这个问题 ,这其实可以归类为代码的 BUG.
码字不易,
如果您对我的答案感到满意,请设置最佳答案! |
|