在我们学校的项目中,我们有一个任务是使用 python 实现一个有效的“登录系统”。我已经做了几乎所有事情,但我一直在为程序中实现的两个功能而苦苦挣扎。我将尽我所能解释系统的目的是什么,以便您能够理解我面临的问题:) 基本上我将对象用于 2 个用户角色(管理员和普通用户),以及书对象。每个用户都可以登录系统,他们会看到 5 种不同的选择:添加图书、删除图书、列出图书、共享图书(这会检查是否有其他用户正在阅读同一本书)和退出。我在删除一本书和共享书单时遇到了极大的困难。
到目前为止,我一直将我的对象存储在一个列表中,并设法完成所有功能,使它们正常工作。但这是问题所在:这就是我将对象存储在嵌套列表中的方式,因此每本书都可以与所需的用户相关联
books=[book1,[user1],book2,[user1,user3],book3,[user3,user2],book4,[user1,user4,user3]]
但是每当我尝试删除一本书时,我都会使用此功能,但它不起作用。我知道这段代码对你来说基本上没用,但我还是把它贴出来了,这样你就可以更好地了解我想要做什么。
total=len(books)
a=input("\nType in the book you want to delete:\n")
if (total!=0):
for i in range(total):
if(a==books[i].title):
del(books[i])
print("Book has been deleted\n\n")
print(books)
break
以下代码块用于共享书功能,并且实际上正在工作。
books2=[]
books3=[]
xStr=input("Enter the name of the book\n")
for i in range(len(books)):
if (i%2==1): #This will select only users asociated with a book
books2.append(books[i])
if (i%2==0): #This will select only the books
books3.append(books[i])
for i in range(len(books2)):
for j in range(len(books2[i])):
if (books3[i].title==xStr):
print("Book: ",books3[i],"is also used by:",books2[i][j-1].username)
我也尝试过使用字典,但没有用。
所以我想知道的是:-在您看来,这将是为此类程序存储对象的最佳方式-我应该使用哪种数据结构以及它是如何完成的
我希望我没有太复杂,对不起我的英语不好:) 非常感谢