You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python的has_no_e函数调用words.txt中的单词列表?

问题解决

首先,你修改后的has_no_e函数逻辑完全偏离了目标——原函数的作用是判断单个单词是否不含'e',你不该把读取文件的逻辑塞进这个函数里,正确的做法是拆分功能:

  1. 保留作者给出的正确单单词判断函数:
def has_no_e(word):
    for letter in word:
        if letter == 'e':
            return False
    return True
  1. 单独编写读取文件、遍历单词并输出结果的代码:
# 打开words.txt文件,with语句会自动处理文件关闭
with open("words.txt") as fin:
    # 遍历文件中的每一行(对应每个单词)
    for line in fin:
        # 去除单词末尾的换行符,避免干扰判断
        word = line.strip()
        # 调用判断函数,打印每个单词的结果
        print(f"{word}: {has_no_e(word)}")

你的代码无输出的原因

  • 仅用readline()读取了文件的第一行,没处理所有单词;
  • 函数里的return会直接终止函数运行,根本没机会遍历后续内容;
  • 全程没有添加print语句,就算逻辑正确也看不到输出结果。

额外提示

用with语句操作文件比直接open()更安全,它会自动帮你关闭文件;另外必须用strip()去除每行末尾的换行符,否则换行符会被当成单词的一部分参与判断。

内容的提问来源于stack exchange,提问作者romanbouchouiev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:22:03