برنامه نویسی

منوی خودپرداز خود را در

این ممکن است یک باشد SPEEDRUN STEMPES در مورد نحوه نوشتن منوهای پایتون با استفاده از دستورات ورودی در ترمینال. امیدوارم این پیش نویس به عنوان یک صفحه نمایش باشد تا بتوانید ایده ها یا فقط یک خواندن را ترسیم کنید.
این کد در نسخه 3.13.0 در پایتون نوشته شده و در ترمینال اجرا شده است پودر با استفاده از سبک نوشتن عملکردی ، اگر نسخه قدامی مترجم را انتخاب کنید ، ممکن است مشکلی ایجاد نشود. به هر حال بیایید به تجارت برسیم ، چرا نام دستگاه خودپرداز؟ مخفف دستگاه خودپرداز این یک مخفف فنی برای دستگاه گوینده خودکار، ماشینهایی که به معاملات بانکی اجازه می دهند. این موضوع به عنوان ایده ای برای مفهوم سازی عملیات شبیه سازی منوهای هوشمند مانند ماشین حساب یا هر فرآیند دیگری که نیاز به یک اسکریپت فرمان در ترمینال دارد انتخاب شده است ، من به محدودیت های تحمیل شده برای برنامه هایی که رابط های خط فرمان را کشف می کنند ، نمی پردازم.

Obs: Este texto não foi coletado, submetido ou imposto a prompts de AI. Cabe o seu autor escolher a origem e motivação para o seu intelecto.

▶ ︎ • ၊၊ ||၊ |။ |||| | Lorn - OUT OF THE FRAME

قبل از شروع کد ، ما باید LIBS را در زیر بگنجانیم تا ویژگی ها را انجام دهیم os.system(str) و یادداشت ها را تایپ کنید Callable، بله در این کد حاشیه نویسی به عنوان یک سبک نوشتن که به کد سازمان یافته تر ، منسجم ، قابل خواندن و کاهش خطاهای نوشتن ممکن است.

from os import system
from typing import Callable

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تابع not_ATM() این مسئول مونتاژ و اجرای منو است که شامل کلیه منطق و عملکردهای لازم برای اجرای آن است.
این برنامه باید ساده باشد ، ما لازم نیست که به چیزی مانند ایجاد ماژول یا بسته تبدیل شویم.

if __name__ == "__main__":

    not_ATM()

    system("cls||clear")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

عملکرد منو ، گزینه ها و دستورات را در صفحه ترمینال ارائه می دهد

def menu() -> None:

    for i, item in enumerate(["\nInforme uma das opções:\n",
                                "1 - Task 1", "2 - Task 2",
                                "3 - Task 3", "4 - Sair\n"]):

        print(f"{'':.>5} {item}" if i > 0 else item)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

عملکرد get_message(int) متن عملکرد را برمی گرداند input(str) مورد استفاده برای ضبط صفحه کلید

def get_message(attempts: int):

    message = [":...",
                "Opção selecionada:..."]

    return message[0] if attempts > 0 else message[1]

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این عملکرد اصلی در عملکرد است not_ATM()عملکردهای دیگر مکمل هایی مانند گزینه های منو هستند. در زیر نمونه ای از اجرای منو در ترمینال آورده شده است.

python .\app.py

Informe uma das opções:

..... 1 - Task 1
..... 2 - Task 2
..... 3 - Task 3
..... 4 - Sair

Opção selecionada:...1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ما باید ماژول App.py را ایجاد کنیم تا به هدف خود خدمت کنیم

new-Item 'app.py' -ItemType File
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

درج محتوای پایتون در ماژول ایجاد شده

Add-Content -Path .\app.py -Value 'print("Olá mundo")'
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای اجرای برنامه زیر ، فقط با ماژول تماس بگیرید app.py

python .\app.py
Olá mundo
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

قبل از وارد کردن کد در ماژول App.py ، بیایید ساختار ساختار را تجزیه و تحلیل کنیم While(...):بشر در این اپراتورهای استاندارد morsa (:=) اشمیه unpacking (*) آنها برای ضبط و فیلتر دستورات ارسال شده توسط صفحه کلید استفاده می شوند. با باز کردن بسته بندی ما دستورات خروجی را از لیست دریافت می کنیم [*'qQeE'] و با اپراتور ما تصادف ارسال شده توسط صفحه کلید را در بیان منطقی در حالی ضبط می کنیم.

attempts = 0

while (option := input(get_message(attempts))[-1:]) not in [*'qQeE']:

    system("cls||clear")

    menu()

    try:

        if (tasks[option]() == 'exit'):
            break

        print(f"{tasks[option]()}\n")

        attempts = 0

    except:

        if attempts >= 2:
            input("Você superou N tentativas, operação encerrada...")

            break

        attempts += 1

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ساختار try/except از آن برای ضبط استثنائات استفاده می شود وقتی صفحه کلید گزینه کلید ناشناس را ارسال می کند. فرهنگ لغت وظایف مسئول اعتبارسنجی کلیدها و داشتن گزینه نادرست است ، استثناء پیام را از آن مطلع می کند گزینه نامعتبر ، دوباره امتحان کنیدبشر

try:

    if (tasks[option]() == 'exit'):
        break

    print(f"{tasks[option]()}\n")

    attempts = 0

except:

    if attempts >= 2:
        input("Você superou N tentativas, operação encerrada...")

        break

    attempts += 1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون تمام مطالب زیر را برای ماژول کپی کنید برنامه


from os import system
from typing import Callable


def not_ATM() -> None:

    def menu() -> None:

        for i, item in enumerate(["\nInforme uma das opções:\n",
                                  "1 - Task 1", "2 - Task 2",
                                  "3 - Task 3", "4 - Sair\n"]):

            print(f"{'':.>5} {item}" if i > 0 else item)

    def task_1() -> str:
        return "task_1"

    def task_2() -> str:
        return "task_2"

    def task_3() -> str:
        return "task_3"

    def out() -> str:
        return 'exit'

    tasks: dict[str, Callable[[], str]] = {
        "1": task_1, "2": task_2,
        "3": task_3, "4": out}

    menu()

    attempts = 0

    def get_message(attempts: int):

        message = [":...",
                   "Opção selecionada:..."]

        return message[0] if attempts > 0 else message[1]

    while (option := input(get_message(attempts))[-1:]) not in [*'qQeE']:

        system("cls||clear")

        menu()

        try:

            if (tasks[option]() == 'exit'):
                break

            print(f"{tasks[option]()}\n")

            attempts = 0

        except:

            if attempts >= 2:
                input("Você superou N tentativas, operação encerrada...")

                break

            attempts += 1


if __name__ == "__main__":

    not_ATM()

    system("cls||clear")

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا ما با این مفهوم و منطق در مورد منوها به پایان می رسیم ، زمانی را برای تجزیه و تحلیل بهتر اختصاص می دهیم و به یاد می آوریم اشکال مختلف نوشتن برای ساخت منو وجود داردبشر
برای اجرای دستور زیر.

python .\app.py
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Não seja um escravo de sua própria mente programada pelo sistema

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا