0

だから私は自分のプロジェクトの一部に行き詰まっています。このプロジェクトでは、ライブラリ ファイルをディクショナリに読み取って、次のようなものを作成する必要があります。

inventory = {author: "book title, quantity, price"}

私はすでにやっています。次に、関数を作成する必要があります

  1. 表示ライブラリ、ソート済み。
  2. 著者に本を追加します。
  3. 本の数量を変更します。
  4. 図書館の総お金を計算します。
  5. 終了する。

私はパート 3 で立ち往生しています。ここに私がこれまでに持っているものがありますが、タイトルの各単語が大文字になっているため、書籍のタイトルが在庫にあるかどうかを確認する方法がわかりません。

    def changeQty(inventory):
        author = inventory.keys()
        book = inventory.values()
        lastName = raw_input("Enter the author's last name: ").capitalize()
        firstName = raw_input("Enter the author's first name: ").capitalize()
        check = lastName + ", " + firstName
        while check not in author:
            print "There is no author by that name in the library."    
            lastName = raw_input("Enter the author's last name: ").capitalize()
            firstName = raw_input("Enter the author's first name: ").capitalize()
            check = lastName + ", " + firstName

        #after here i am stuck trying to make the title of 1 OR MORE words all                   
        #capitalized, to check to see if the title is in reference.getTitle()
        #example: title of dickens, charles would be Hart Times
        title = raw_input("Enter the title: ")
        for info in book:
            for reference in info:
                while title not in reference.getTitle():
                    print "This book does not exist in the library."
                    title = raw_input("Enter the title: ")
    def main():
        inventory = {}
        test = readDatabase(inventory)
        done = False
        while not done:
            menuOpt = raw_input("Please choose a menu option: ")
            if menuOpt == '3':
                newQty = changeQty(inventory)
            elif menuOpt == '5':
                print "Thank you for choosing this program to view your inventory"
                print "Now exiting"
                done = True
            else:
                print str(menuOpt) + " is outside this program's options."
                print "Please choose again."
    main()

    class Book:
        #constructor
        def __init__(self, title, qty, price):
            self.title = str(title)
            self.qty = int(qty)
            self.price = float(price)

        #Accessors:
        def getTitle(self):
            return self.title

        def getQte(self):
            return self.qty

        def getPrice(self):
            return self.price

        def getTotal(self):
            return self.price * self.qty

        #Mutators:
        def setQty(self, newQty):
            self.qty = newQty

        def setPrice(self, newPrice):
            self.price = newPrice

        #Display method
        def displayInfo(self):
            print "\tTitle: " + self.title
            print "\tQty: " + str(self.qty)
            print "\tPrice: %.2f", %self.price

いくつかの完全な関数を省略しましたが、議論のために、book はオブジェクトのリストであると仮定しdef changeQty(inventory)ます: タイトル、数量、価格。

4

2 に答える 2