鱼C论坛

 找回密码
 立即注册
查看: 401|回复: 6

[已解决]关于变量问题

[复制链接]
发表于 2020-4-10 23:01:24 | 显示全部楼层 |阅读模式

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

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

x
name=[F,i,s,h],列表中的F,i,s,h变量没有定义就会报错,为什么for i in range(5)中 i 没有定义变量就不会报错?
最佳答案
2020-4-10 23:08:18
前者,你是要使用该变量,然而没有定义就使用,当然会报错啦

后者,这里就是定义啊,for每次循环分别将0~4赋值给i啊

估计前者你应该是打算写name=['F','i','s','h']这样F  i  s  h就是四个字符常量了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-10 23:05:14 | 显示全部楼层
在for中每次循环都相对应给i赋值

i = 0
i = 1
i = 2
i = 3
i = 4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:06:15 | 显示全部楼层
本帖最后由 悠悠2264 于 2020-4-10 23:18 编辑

F,i,s,h都是列表的元素,不是变量。for i in range(5)的i会每次都赋值好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:08:18 | 显示全部楼层    本楼为最佳答案   
前者,你是要使用该变量,然而没有定义就使用,当然会报错啦

后者,这里就是定义啊,for每次循环分别将0~4赋值给i啊

估计前者你应该是打算写name=['F','i','s','h']这样F  i  s  h就是四个字符常量了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 23:18:19 | 显示全部楼层
编译器会自动检测类型,前提是编译器得知道你的意图,且是唯一的确定的意图,你给的例子中,name如果不初始化,则编译器搞不清你要让name是字符串、数字、列表,后者i编译器能唯一确定它是[0,5)的整数。
补充说明一下,编译器是很智能的,如 for i in range(5),i是整数,如果 for i in name,则i是你定义的列表name中的一个元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 07:02:50 | 显示全部楼层
前者你需要在定义时明确的告诉编辑器你列表里的东西是什么,如果你给的是字符串,需要"   "(加双引号),如果是变量,则需要在使用这个变量之前,给这个变量定义,否则编辑器无法识别并将它视为不存在。
后者for i in XXX:这个语法python本身就对他进行了定义, i 是一个变量 你也可以给他改名为其他的,无论是什么名字,编辑器都能识别。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 08:15:05 | 显示全部楼层
F i s h 都是之前定义好的变量,for i in range(5) 中的 i 是 for 循环赋值的,i 等于 0 ~ 4 中的每一个值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 08:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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