|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在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
还望大神求助
# 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
|
|