我正在写一个图书馆管理程序。我有一个代码,询问输入的用户名是否在用户列表中,而不是在锁定人员列表中(没有获得借阅书籍的权限),但它不起作用!这是代码:
borrower=input("User ID: ")
userlist = open("userlist.txt", "r")
locked = open("locked.txt", "r")
if borrower in userlist and borrower not in locked:
#dosomething
elif borrrower in userlist and borrower in locked:
print("User",borrower,"isn't allowed to borrow books!")
else:
print("[ERROR] User",borrower,"doesn't exist!")
请告诉我这有什么问题。
答案 0 :(得分:0)
您需要这些文件中的实际列表。
userlist = open("userlist.txt", "r").readlines()
locked = open("locked.txt", "r").readlines()
根据数据的实际结构,将文件读入字符串也是有益的:
userlist = open("userlist.txt", "r").read()
locked = open("locked.txt", "r").read()
这两者之间的区别:readlines()
会返回一个列表,read()
会返回一个字符串。 in
在这两者之间的行为差异:如果它是一个列表,如果它嵌入字符串中,它就不会捡起它;如果它在一个字符串中,它就会把它拿起来。