python小白刚刚开始学习!!!!
在执行下列代码的是 english_dict函数返回了True,然而在主函数中if english_dict却没有执行,反而执行了else中的内容。这是为什么啊啊啊啊!
import os
def english_dict(word):#首先打开TXT文件,遍历要查询的单词存不存在,存在返回0,不存在返回1
flg=False
if os.path.exists(r"english_dict.txt"):
with open("english_dict.txt","r",encoding="utf-8") as f:
for line in f:
if line.find(word)!= -1:
flg = True
break
else: # 创建空文件
with open(r"english_dict.txt", "w", encoding='utf-8') as f:
f.write("")
return flg
def add_fun(word):#添加单词
L=[]
#EW=input("请输入英文单词:")
CE=input("请输入中文释义:")
L.append(word)
L.append(CE)
print(L)
with open("english_dict.txt", "a", encoding="utf-8") as f:
f.write(word)
f.write(" ")
f.write(CE+'\n')
f.close()
def query_fun(word):#查询单词,打开TXT文件,找到需要查询的单词,返回中文释义
print("查询功能未完成!")
if __name__ == '__main__':
while(True):
action=input("输入add添加单词,输入query查询单词,输入quit退出程序:")
if action=='add':
print("-----添加功能----")
word = input("请输入需要添加的单词")
if english_dict(word):
add_fun(word)
print("添加成功!")
else:
print("已经存在,不能添加!")
elif action=='query':
print("----查询功能-----")
word=input("请输入需要查询的单词")
if english_dict(word):
print("单词不存在!")
else:
query_fun(word)
#query_fun()
elif action=='quit':
print("程序已退出!")
break
为什么If True却执行了else
最新推荐文章于 2025-11-13 10:15:00 发布
Python初学者遇到问题:当`english_dict()`函数返回True时,主程序中的if语句并未执行其主体,反而执行了else的内容。代码涉及到检查文本文件中是否存在单词,如果不存在则创建文件并写入内容。用户可以输入'add'添加单词,'query'查询单词或'quit'退出程序。
820

被折叠的 条评论
为什么被折叠?



