私たちの学校のプロジェクトでは、Python を使用して機能する「ログイン システム」を実装するタスクがあります。ほとんどすべてのことを実行しましたが、プログラムに実装されている 2 つの機能に苦労しています。システムの目的をできる限り説明して、私が直面していることを理解できるようにします:) 基本的に、ユーザーの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)
私も辞書で試しましたが、うまくいきませんでした。
だから私が知りたいのは: -あなたの意見では、この種のプログラムのオブジェクトを保存する最良の方法はどれですか -どのデータ構造を使用する必要があり、基本的にどのように行われますか?
私はあまり複雑にしすぎていないことを願っています。私の悪い英語で申し訳ありません:)どうもありがとうございました