>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 간단한 라이브러리 관리 시스템을 작성하는 방법은 무엇입니까?

Python을 사용하여 간단한 라이브러리 관리 시스템을 작성하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-07 21:52:103126검색

    만드는 단계

    1. 프롬프트를 입력하세요:

    친숙한 "라이브러리 관리 시스템"을 만들려면 먼저 모든 기능의 메뉴를 나열하세요. 다음과 같습니다:

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

    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

    again 예를 들어 사용자가 "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() 메서드:

    문자열이 숫자로만 구성되어 있는지 감지합니다. 이 방법은 유니코드 객체에만 적용됩니다.

    함수 매개변수 의미 및 주의사항:

    매개변수 각 부분의 의미는 다음과 같습니다.

    • 함수 이름: 실제로 Python 구문을 따르는 식별자이지만 독자는 단순 사용을 권장하지 않습니다. a, b, c와 같은 식별자는 함수 이름으로 사용되며 함수 이름은 함수의 함수를 가장 잘 반영해야 합니다(위의 my_len은 사용자 정의된 len() 함수를 의미함).

    • 정식 매개변수 목록: 함수가 수신할 수 있는 매개변수 수를 설정합니다. 여러 매개변수는 쉼표(,)로 구분됩니다.

    • [return [반환 값]]: 함수 전체를 선택적 매개변수로 사용하여 함수의 반환 값을 설정합니다. 즉, 함수는 반환 값을 사용할 수도 있고 반환 값을 사용하지 않을 수도 있습니다. 필요한지 여부는 실제 상황에 따라 다릅니다.

    참고: 함수를 생성할 때 함수에 매개 변수가 필요하지 않더라도 빈 "()" 쌍을 유지해야 합니다. 그렇지 않으면 Python 인터프리터에서 "잘못된 구문" 오류 메시지가 표시됩니다. 또는 기능 없이 빈 함수를 정의하려는 경우 pass 문을 자리 표시자로 사용할 수 있습니다.

    함수의 장점:

    • 파이썬에서 함수를 사용할 때의 가장 크고 직관적인 장점은 코드 조각을 캡슐화하여 언제든지 호출할 수 있다는 것입니다. 프로그램을 작성하고 코드의 논리를 더 명확하게 만들 수도 있습니다.

    • 일반적으로 함수로 캡슐화된 코드 블록은 특정 기능을 구현하는 데 사용되며, 함수로 캡슐화된 코드는 반복적으로 호출될 수 있습니다. 이는 Python 프로그램의 개발 효율성을 향상시킬 뿐만 아니라 불필요한 코드 작성을 줄일 수 있습니다.

    • 이 함수의 또 다른 장점은 실제로 다른 외부 코드와 독립적인 모듈이라는 것입니다. Python 프로그램 실행 시 수동으로 함수를 호출하지 않으면 해당 함수가 실행되지 않습니다. 그리고 함수에 오류가 발생하더라도 프로그램 실행에 큰 영향을 주지 않고 쉽게 수정할 수 있으며, 모듈화가 잘 구현됩니다.

    • Python 함수는 py 파일에 직접 저장한 다음 모듈로 가져올 수도 있습니다. 이러한 방식으로 보편적으로 작성된 Python 함수는 일반적으로 사용되는 내장 모듈 및 Python 3과 같은 다양한 프로그램에서 사용할 수 있습니다. -party 라이브러리는 실제로 기능을 하나씩 저장합니다.

    도서관 관리 시스템의 모든 코드:

    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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제