hlep关于全局和局部变量
在19讲的时候,小甲鱼介绍了全局部变量和全局变量的问题当时小甲鱼有提到一点说
# print(‘这里试图打印全局变量old_price的值:' ,old_price)
他说的是这句注释如果没有加的话是会报错的,但是没有和我们解释为什么会报错,
但是我自己在敲代码的时候我没有加上这一句注释,程序照样顺畅的运行,
得到的结果也是我想要的,和小甲鱼的结果是一样的,并没有出错。
def discounts(price , rate):
final_price = price*rate
old_price = 50
print('修改够old_price的值是1:' ,old_price)
return final_price
old_price = float(input('请输入价格:' ))
rate= float(input('折扣是;'))
new_price = discounts(old_price , rate)
print('修改后old_price的值是2:' , old_price)
print('折后的价格是;' ,new_price)
========================= RESTART: D:\IDLE\等下要删除的.py =========================
请输入价格:100
折扣是;0.8
修改够old_price的值是1: 50
修改后old_price的值是2: 100.0
折后的价格是; 80.0
还望大神求助{:5_108:} {:5_108:} {:5_108:}
# print(‘这里试图打印全局变量old_price的值:' ,old_price)
# 这个注释的问题要看你之前有没有定义。如果你还没有定义,那么目前, print() 是找不到 old_price 的,所以会报错~
def discounts(price , rate):
final_price = price*rate
old_price = 50 #内部定义的,所以是局部变量
print('修改够old_price的值是1:' ,old_price) #对应的是局部变量
return final_price
old_price = float(input('请输入价格:' ))
rate= float(input('折扣是;'))
new_price = discounts(old_price , rate) # 返回 final_price,而局部变量 old_price = 50 也就被遗忘了
print('修改后old_price的值是2:' , old_price) #这里的是你一开始输入的 input()
print('折后的价格是;' ,new_price)
========================= RESTART: D:\IDLE\等下要删除的.py =========================
请输入价格:100
折扣是;0.8
修改够old_price的值是1: 50
修改后old_price的值是2: 100.0
折后的价格是; 800.0 claws0n 发表于 2018-8-16 22:37
# print(‘这里试图打印全局变量old_price的值:' ,old_price)
# 这个注释的问题要看你之前有没有定义 ...
OK 我懂啦 感谢 感谢啊棒棒的{:5_106:}{:5_106:}{:5_106:} fishj 发表于 2018-8-17 16:22
OK 我懂啦 感谢 感谢啊棒棒的
{:5_106:}
如果问题得以解决,记得采纳最佳答案哦~
页:
[1]