Python 3.x 什么';我这里的编码有什么问题?
问题描述: 上面的代码是我的python类中的一项附加工作。我们试图得到的是打印出列表中单词的所有索引。但不知怎的,当我打印出来时,它说“wordIndex”这个名字没有定义。所以我想知道为什么我的代码有问题?我错过什么了吗Python 3.x 什么';我这里的编码有什么问题?,python-3.x,Python 3.x,问题描述: 上面的代码是我的python类中的一项附加工作。我们试图得到的是打印出列表中单词的所有索引。但不知怎的,当我打印出来时,它说“wordIndex”这个名字没有定义。所以我想知道为什么我的代码有问题?我错过什么了吗 我真的很感激任何人投入宝贵的时间来回答我的问题 为了便于将来参考,您应该将代码作为文本而不是图像发布。单击编辑器中的{}图标 将wordIndex=None放入findIndex函数中。这很好,但您必须了解,当您执行此操作时,wordIndex将仅对同样位于findInde
我真的很感激任何人投入宝贵的时间来回答我的问题 为了便于将来参考,您应该将代码作为文本而不是图像发布。单击编辑器中的{}图标 将
wordIndex=None
放入findIndex
函数中。这很好,但您必须了解,当您执行此操作时,wordIndex
将仅对同样位于findIndex
中的代码可见
您还必须调用findIndex
在那里运行代码,即写入findIndex(someVariable,someList)
。当您放置return wordIndex
时,这意味着对findIndex的函数调用将计算为wordIndex的值
更正版本:
fruitList = ["strawberry", "apple", "banana"]
searchFor = "apple"
def findIndex(el, fruitList):
wordIndex = None
for (ind, el) in enumerate(fruitList):
if el == searchFor:
wordIndex = ind
return wordIndex
print("the index corresponding to", searchFor, "is", findIndex("",fruitList))
注意最后一个print语句中对findIndex的调用。
findIndex(“,结果列表)
被计算为wordIndex的值。缩进不正确(查看粘贴的示例)
此代码没有语法错误
但您可能希望将searchFor作为参数传递给函数:
fruitList = ["strawberry", "apple", "banana"]
def findIndex(element, list):
wordIndex = None
for (ind, el) in enumerate(fruitList):
if el == element:
wordIndex = ind
return wordIndex
print(findIndex("banana", fruitList))
请注意,函数参数名称与更多全局变量名称无关。否则,它将给您带来可变范围的问题。例如,在findIndex()函数中,全局范围中有一个“结果列表”,但也有局部范围(函数的)。本地范围优先。不要将代码作为图像发布。以代码的形式发布。很抱歉不知道这里的规则。我在格式化我的答案时仍然有困难。谢谢你的提醒!进一步询问:您能看一下我的代码,看看有什么问题吗?非常感谢你!非常感谢你的帮助!但是当我打印出代码时,它的输出是索引1。如果我想打印出列表中单词的所有索引,我该如何实现呢?你的问题太笼统了。抱歉,我不能在stackoverflow文章中教授变量作用域、函数、for循环和数组。首先了解您现在拥有的每一行代码是如何工作的,然后您将能够尝试提出一个解决方案来自己打印所有索引。它可能不起作用,但至少你会有一个具体的例子来提问。
fruitList = ["strawberry", "apple", "banana"]
searchFor = "apple"
def findIndex(el,fruitList):
wordIndex = None
for (ind, el) in enumerate(fruitList):
if el == searchFor:
wordIndex = ind
return wordIndex
fruitList = ["strawberry", "apple", "banana"]
def findIndex(element, list):
wordIndex = None
for (ind, el) in enumerate(fruitList):
if el == element:
wordIndex = ind
return wordIndex
print(findIndex("banana", fruitList))