python中if语句中变量作用域问题
本帖最后由 古月银狐 于 2021-4-1 20:46 编辑能否帮忙解决下,为何变量money在if语句外面是访问不到的呢? 不是说if , while,for 语句里面的变量在外面是可以访问得到的吗?谢谢!
大家帮我看下,为什么后面这二段代码变量i会有不同的取值?一个能取到,一个不能取到
a = 5
b = 6
if True:# 换成True,if外面的i可以到值,这是为什么?
i = 0
while i <= 5:
if i == 2:
print("跳出这次:", i)
else:
print(".....>", i)
i += 1
print(i)
a = 5
b = 6
if a < b:# 换成True,if外面的i可以到值,这是为什么?
i = 0
while i <= 5:
if i == 2:
print("跳出这次:", i)
else:
print(".....>", i)
i += 1
print(i)
因为你money是写在里面的 作用域就是在if里面 出了if money就被释放掉了 可以把,你发代码别发图片,帮你跑下看看 你的语句如果走else 那么money就未定义 走if则正常 一起学习 阳光肥肥 发表于 2021-4-1 19:05
你的语句如果走else 那么money就未定义 走if则正常
不是资料上说ifwhile for 语句里面的变量在外面能够访问吗、? Cai_LC 发表于 2021-4-1 19:16
多谢大佬分享
一起交流学习 阳光肥肥 发表于 2021-4-1 19:05
你的语句如果走else 那么money就未定义 走if则正常
走if也不能够正常运行,没有else在外面也不能取得最后一个money 的值 古月银狐 发表于 2021-4-1 19:26
不是资料上说ifwhile for 语句里面的变量在外面能够访问吗、?
不执行if语句为真时,相当与你的代码(真那一段)被注释掉了,可以理解吗? Cool_Breeze 发表于 2021-4-1 19:33
不执行if语句为真时,相当与你的代码(真那一段)被注释掉了,可以理解吗?
这我可以理解,我的意思是我把ESLE里面的代码注释掉,后面那个money也取不到值