如何让Python中的函数调用一个txt单词列表?

kr98yfug  于 2023-04-19  发布在  Python
关注(0)|答案(1)|浏览(93)

此问题已在此处有答案

How to read a file line-by-line into a list?(28回答)
6小时前关闭
我正在做艾伦唐尼的书中的一个练习(Think Python,第84页),其中说“编写一个名为has_no_e的函数,如果给定的单词中没有字母“e”,则返回True。”作者说这些练习的共同模式是:

def has_no_e(word):
    for letter in word:
        if letter == 'e':
            return False
    return True

所以我相信这就是答案。但是你如何让这个函数调用单词的words.txt列表呢?我试着这样做,但肯定有什么地方出错了,因为我的代码什么都不做。当我运行它时,我看到一个空行。我想要的是让这个函数从单词中提取单词。txt文件,并告诉我,如果每个是真或假,这取决于是否存在'e'。

def has_no_e(list):
    fin = open(list)
    word = fin.readline()
    for letter in word:
        if letter == 'e':
            return False
    return True
has_no_e("words.txt")

谢谢大家。

xam8gpfp

xam8gpfp1#

def has_no_e(list):
    fin = open(list)
    word = fin.readline()
    for letter in word:
        if letter == 'e':
            return False
    return True

如果你想要一个逐行的结果列表,而不是在阅读第一行后立即返回,你需要继续读取更多的行,并将结果累积到某种数据结构中(例如,列表)。
你提到的更直接的问题是
我的代码什么都不做。当我运行它时,我看到一个空行。
您没有包含任何代码来显示调用has_no_e的结果。例如,您可以将has_no_e的结果赋给一个变量,然后使用print语句将该变量打印到控制台。然后您就会看到函数调用的结果。

相关问题