Python 为什么我的for循环没有返回任何内容?

Python 为什么我的for循环没有返回任何内容?,python,json,loops,for-loop,Python,Json,Loops,For Loop,我刚刚开始自学编程,我已经在一个Jupyter笔记本上用Python 3.0(Anaconda发行版)编写了一个小程序,它应该接收一个单词并返回JSON文件中与输入单词押韵的所有单词。我发现当我运行它时,我没有得到任何回报。我绞尽脑汁想我在这里做错了什么——我肯定我错过了一些愚蠢的事情 import json english_words = open('C:/Users/thoma/Documents/Programs/Python Programs/Rhyme Machine/words_d

我刚刚开始自学编程,我已经在一个Jupyter笔记本上用Python 3.0(Anaconda发行版)编写了一个小程序,它应该接收一个单词并返回JSON文件中与输入单词押韵的所有单词。我发现当我运行它时,我没有得到任何回报。我绞尽脑汁想我在这里做错了什么——我肯定我错过了一些愚蠢的事情

import json

english_words = open('C:/Users/thoma/Documents/Programs/Python Programs/Rhyme Machine/words_dictionary.json', 'r')
rhymee = input('give me a word and ill return you all the words that rhyme with it. ')
rhymers = []

for word in english_words:
    if len(word) > 3 and word[-3:] == rhymee[-3:]:
        rhymers.append(word)
    else:
        pass
print(rhymers)

该代码中没有
read()
函数,因此英文单词只包含文件对象,而不包含数据。尝试先读取文件,然后执行
for
循环。尝试用英语打印单词变量。

这取决于JSON文件的格式。请给我们举个例子。在Python中,您可以使用
for
循环以这种方式迭代文件的内容,而无需使用
read()
。问题是
word
一次只能从文件中取出一行,而不是一个单词,因为文件是JSON格式的,这里没有代码将其解析为JSON。