Python を使用して簡単なライブラリ管理システムを作成するにはどうすればよいですか?

WBOY
リリース: 2023-05-07 21:52:10
転載
3078 人が閲覧しました

    開発手順

    1. プロンプトを入力します:

    使いやすい「図書館管理システム」を作成するには、まずすべてをリストします。機能メニュー。次のように:

    print("""
    ***************************
    * 欢迎进入图书管理系统    *
    * 0 .退出                 *
    * 1 .列出所有书籍         *
    * 2 .添加书籍             *
    * 3 .修改书籍             *
    * 4 .删除书籍             *
    * 5 .借书                 *
    * 6 .还书                 *
    ***************************
    """)
    ログイン後にコピー

    2. ユーザー入力の取得:

    2 番目のステップでは、ユーザーは相対関数に対応する 0 ~ 6 の整数を入力します。ユーザーが入力を間違えた場合は、「入力エラーです。再入力してください。」が出力されます。

    while True:
        n=input("输入序号(0-6):")
        if n=="0":
            pass
        elif n=="1":
            pass
        elif n=="2":
            pass
        elif n=="3":
            pass
        elif n=="4":
            pass
        elif n=="5":
            pass
        elif n=="6":
            pass
        else:
            print("输入错误,请重新输入")
            print("")   #表示换一行
    ログイン後にコピー

    拡張子:

    多くの言語は「空のステートメント」のサポートを提供しています。 Python も例外ではなく、Python の pass ステートメントは空のステートメントです。

    プログラムでスペースを占有してステートメントを配置する必要があるが、このステートメントには何も実行させたくない場合があります。この場合は、 pass ステートメントを使用して実現できます。 pass ステートメントを使用すると、プログラムをより完全なものにすることができます。

    次のプログラムは、空のステートメントとして pass を使用する方法を示しています。

    s=int(input("请输入一个整数: "))
    if s>5:
        print("大于5")
    elif s<5:
        pass   # 相当于占位符
    else:
        print("等于5")
    ログイン後にコピー

    上記のプログラムからわかるように、s が 5 未満の場合、 、プログラムは一時的にそれを処理しません (または、それに対処する方法がわかりません)、この時点では、プログラムは pass ステートメントを使用できるように、空のステートメントを介して位置を占有する必要があります。

    3. 各コマンド プログラムを改善します

    例: ユーザーが「0」を入力した場合、ユーザーに次のことを伝える必要があるだけではありません。 「プログラムは終了しました」だけでなく、「終了」機能を完了するには、コードは次のとおりです:

    if n=="0":
        print("退出成功")
        break
    ログイン後にコピー

    別の例: ユーザーが「5」と入力します (本を借りる) . 在庫がまだある場合は、「正常に借りられました」と表示され、減ります この本は在庫があります。それ以外の場合は、「在庫が不足しています」というメッセージが表示されます。次のプログラム:

    elif n=="5":
        xh=intinput()
        book=books[xh-1]
        if book["num"]>0:
            book["num"]-=1
            print("借书成功")
        else:
            print("库存不足")
    ログイン後にコピー

    他の機能を改善するには、上記のコードを参照してください。

    4. プログラムを最適化してコードをより簡潔にする

    関数を定義して関数を再利用できるため、コードが単純になります。たとえば、コード:

    def intinput(n="请输入序号:"):
        while True:
            s=input(n)
            if s.isnumeric():
                return int(s)
            else:
                print("请输入整数")
    ログイン後にコピー

    拡張子:

    str.isnumeric()メソッド:

    文字列が数字のみで構成されているかどうかを検出します。このメソッドは Unicode オブジェクト専用です。

    関数パラメータの意味と注意事項:

    パラメータの各部分の意味は次のとおりです。

    • 関数名: 実際には、これは Python 構文に準拠した識別子ですが、関数名として a、b、c などの単純な識別子を使用することはお勧めできません。関数名は関数の機能を最もよく反映する必要があります (上記の my_len など) 、これはカスタム len() 関数を意味します)。

    • 仮パラメータリスト: 関数が受け取ることができるパラメータの数を設定します。複数のパラメータはカンマ (,) で区切られます。

    • [return [戻り値]]: 関数全体が、関数の戻り値を設定するためのオプションのパラメーターとして使用されます。つまり、関数は戻り値を使用することも、戻り値を使用しないこともでき、必要かどうかは実際の状況によって異なります。

    注: 関数を作成するとき、関数にパラメーターが必要ない場合でも、空の「()」のペアを保持する必要があります。保持しないと、Python インタープリターによって「無効な構文」というプロンプトが表示されます。 " エラー。あるいは、機能を持たない空の関数を定義する場合は、 pass ステートメントをプレースホルダーとして使用できます。

    関数の利点:

    • Python で関数を使用する最大かつ最も直観的な利点は、コードの一部をカプセル化し、いつでも呼び出すことができることです。これにより、プログラムの単純さと読みやすさが大幅に向上し、コードのロジックもより明確になります。

    • 一般的に、関数によってカプセル化されたコード ブロックは特定の関数を実装するために使用され、関数にカプセル化されたコードは繰り返し呼び出すことができます。これにより、Pythonプログラムの開発効率が向上するだけでなく、無駄なコードの記述を減らすことができます。

    • この関数のもう 1 つの利点は、実際には他の外部コードから独立したモジュールであることです。Python プログラムの実行時にこの関数を手動で呼び出さない場合、この関数は実行されません。実行する。関数内でエラーが発生した場合、プログラムの実行に大きな影響を与えることなく簡単に修正でき、モジュール化がうまく行われています。

    • Python 関数は、py ファイルに直接保存して、モジュールとしてインポートすることもできます。この方法で、汎用的に記述された Python 関数をさまざまなプログラムで使用できます。一般的に使用される組み込みモジュールと Python サードパーティ ライブラリには、実際には関数が 1 つずつ格納されています。

    図書館管理システムのすべてのコード:

    def intinput(n="请输入序号:"):
        while True:
            s=input(n)
            if s.isnumeric():
                return int(s)
            else:
                print("请输入整数")
     
    books=[{"name":"Scratch","isbn":"12345","num":2},
           {"name":"Python","isbn":"12346","num":5}]
    print("""
    ***************************
    * 欢迎进入图书管理系统    *
    * 0 .退出                 *
    * 1 .列出所有书籍         *
    * 2 .添加书籍             *
    * 3 .修改书籍             *
    * 4 .删除书籍             *
    * 5 .借书                 *
    * 6 .还书                 *
    ***************************
    """)
     
    while True:
        n=input("输入序号(0-6):")
        if n=="0":
            print("退出成功")
            break
        elif n=="1":
            print("序号\t书名\t书号\t数量")
            index=1
            for book in books:
                print("%d\t%s\t%s\t%d"%(index,book["name"],book["isbn"],book["num"]))
                index+=1
        elif n=="2":
            book=dict()
            book["name"]=input("请输入书名:")
            book["isbn"]=input("请输入书号:")
            book["num"]=intinput("请输入数量:")      
            books.append(book)
            print("添加成功")
        elif n=="3":
            try:
                xh=intinput()
                book=books[xh-1]
                book["name"]=input("请输入书名:")
                book["isbn"]=input("请输入书号:")
                book["num"]=intinput("请输入数量:")
                print("修改成功")
            except:
                print("出错了")
        elif n=="4":
            s=intinput()
            if 1<=s<=len(books):
                del books[xh-1]
                print("删除成功")
            else:
                print("超出范围")
        elif n=="5":
            xh=intinput()
            book=books[xh-1]
            if book["num"]>0:
                book["num"]-=1
                print("借书成功")
            else:
                print("库存不足")
        elif n=="6":
            xh=intinput()
            try:
                book=books[xh-1]
                book["num"]-=1
                print("还书成功")
            except:
                print("未查询到书本")
        else:
            print("输入错误,请重新输入")
            print("")
    ログイン後にコピー

    以上がPython を使用して簡単なライブラリ管理システムを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:yisu.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート