鱼C论坛

 找回密码
 立即注册
查看: 589|回复: 5

[已解决]python3新课里的问题

[复制链接]
发表于 2020-4-8 15:00:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> 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


看不懂,为什么上面不报错?
最佳答案
2020-4-8 15:02:29
你的for循环里面定义了x鸭
x的作用域只在for循环里面。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-8 15:02:29 | 显示全部楼层    本楼为最佳答案   
你的for循环里面定义了x鸭
x的作用域只在for循环里面。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 15:09:09 | 显示全部楼层
缩进原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 15:14:00 | 显示全部楼层
 for x in range(2,2): #rang(2,2),for循环条件没有达到,x没有赋值不存在,但因为循环没有进行,所以下一句没有执行,不会报错。
        print(2 % x)
如果改成rang(1,2),循环会进行一次,x赋值为1,循环1次,再运行 2%x就不会报错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 10:46:13 | 显示全部楼层
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)

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
qiuyouzhi + 5 + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 10:47:49 | 显示全部楼层
txxcat 发表于 2020-4-9 10:46
for循环里没有变量的作用域这一说法!看看下面代码,只要循环进行了,x就被赋值,在循环体外,x的值是最 ...

!感谢,我忘记了。。。
把Python的当成C语言的了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 05:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表