NameError:未定义名称“writeword”(python中的错误)

NameError:未定义名称“writeword”(python中的错误),python,Python,我定义函数调用它,但它仍然显示名称错误。请给出任何解决方案。Python是从解释器迭代执行的。但是函数write_word是在函数调用之后定义的。最好的方法是将代码块包装在函数中,并在文件底部执行它。您的文件应该是这样的 dict={"key":"lock","kailas":"name boy","kerala":"city","kalyani":"name girl","bady":"horse"} search_word = raw_input("enter a word") if se

我定义函数调用它,但它仍然显示名称错误。请给出任何解决方案。

Python是从解释器迭代执行的。但是函数write_word是在函数调用之后定义的。最好的方法是将代码块包装在函数中,并在文件底部执行它。您的文件应该是这样的

dict={"key":"lock","kailas":"name boy","kerala":"city","kalyani":"name girl","bady":"horse"}
search_word = raw_input("enter a word")

if search_word in dict:
   print dict[search_word]
   print writeword(search_word)
else:
    Y = search_word[0]
    print Y
    print writeword(Y)
    for word in dict:
         if word[0]==Y:
            print "whether you want '"+word+"' this word"

def writeword(search_word ):
    with open("spast_history", 'w')as file:
        for item in search_word:
            file.write(str(item)+'\n')

注意,您也可以在方法之外定义dict。

在调用函数之前定义函数。Python代码是自上而下执行的。或者在另一个函数体中使用它,那么只有在函数执行时才会查看它。
def main():
    dict={"key":"lock","kailas":"name boy","kerala":"city","kalyani":"name girl","bady":"horse"}
    search_word = raw_input("enter a word")

    if search_word in dict:
       print dict[search_word]
       print writeword(search_word)
    else:
       Y = search_word[0]
       print Y
       print writeword(Y)
    for word in dict:
       if word[0]==Y:
           print "whether you want '"+word+"' this word"

def writeword(search_word):
    with open("spast_history", 'w')as file:
        for item in search_word:
            file.write(str(item)+'\n')

main()