Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 什么';我这里的编码有什么问题?_Python 3.x - Fatal编程技术网

Python 3.x 什么';我这里的编码有什么问题?

Python 3.x 什么';我这里的编码有什么问题?,python-3.x,Python 3.x,问题描述: 上面的代码是我的python类中的一项附加工作。我们试图得到的是打印出列表中单词的所有索引。但不知怎的,当我打印出来时,它说“wordIndex”这个名字没有定义。所以我想知道为什么我的代码有问题?我错过什么了吗 我真的很感激任何人投入宝贵的时间来回答我的问题 为了便于将来参考,您应该将代码作为文本而不是图像发布。单击编辑器中的{}图标 将wordIndex=None放入findIndex函数中。这很好,但您必须了解,当您执行此操作时,wordIndex将仅对同样位于findInde

问题描述: 上面的代码是我的python类中的一项附加工作。我们试图得到的是打印出列表中单词的所有索引。但不知怎的,当我打印出来时,它说“wordIndex”这个名字没有定义。所以我想知道为什么我的代码有问题?我错过什么了吗


我真的很感激任何人投入宝贵的时间来回答我的问题

为了便于将来参考,您应该将代码作为文本而不是图像发布。单击编辑器中的{}图标

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