【发布时间】:2020-03-30 12:34:27
【问题描述】:
我有一个文件,其中包含学生的姓名、地址、成绩等数据。我创建了一个函数,可以根据学生的名字和姓氏从文本文件中删除整行。此功能正常工作。然而,之后,我决定更新它,如果用户输入的名称不在文件中,它会打印:找不到学生。但是,现在即使用户输入文件中的名称,它仍然会打印:student not found...
这是我的代码:
def delete_a_record(filename):
x=input("Remove First Name:")
y=input("Remove Last Name:")
with open(filename, "r") as f:
lines = f.readlines()
with open(filename, "w") as f:
for i in lines:
t=i.split()
if t[0]!=x and t[1]!=y:
f.write(i)
elif x or y not in t:
print("Student Not Found")
f.close()
delete_a_record("mytextfile.txt")
谁能给我解释一下为什么?
【问题讨论】:
-
``!=` 检查它是否不同。你想使用'=='
-
使用
if not (t[0]==x and t[1]==y):或if t[0]!=x or t[1]!=y:
标签: python text-files delete-row