python3新课里的问题
>>> for x in range(2,2):print(2 % x)
>>> 2%x
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
2%x
NameError: name 'x' is not defined
看不懂,为什么上面不报错? 你的for循环里面定义了x鸭
x的作用域只在for循环里面。 缩进原因 for x in range(2,2): #rang(2,2),for循环条件没有达到,x没有赋值不存在,但因为循环没有进行,所以下一句没有执行,不会报错。
print(2 % x)
如果改成rang(1,2),循环会进行一次,x赋值为1,循环1次,再运行 2%x就不会报错了。 qiuyouzhi 发表于 2020-4-8 15:02
你的for循环里面定义了x鸭
x的作用域只在for循环里面。
for循环里没有变量的作用域这一说法!看看下面代码,只要循环进行了,x就被赋值,在循环体外,x的值是最后一次循环的赋值:
for x in range(1,3):
print('x在循环体内:',x)
print('x在循环体外:',x) txxcat 发表于 2020-4-9 10:46
for循环里没有变量的作用域这一说法!看看下面代码,只要循环进行了,x就被赋值,在循环体外,x的值是最 ...
!感谢,我忘记了。。。
把Python的当成C语言的了。。。
页:
[1]