رفتن به محتوا
یادداشت‌های یک روزنامه‌نگار

برنامه دفترچه تلفن با فایل در پایتون — درس پنجاه‌ام

برای یک مطالعه آرام
برنامه دفترچه تلفن با فایل در پایتون

در این درس، می‌خواهیم یک برنامه ساده دفترچه تلفن با استفاده از فایل در پایتون بنویسیم. این برنامه به ما کمک می‌کند تا اطلاعات تماس افراد را ذخیره و مدیریت کنیم.

گام اول: ایجاد فایل برای ذخیره اطلاعات

ابتدا، باید یک فایل ایجاد کنیم تا اطلاعات تماس را در آن ذخیره کنیم. ما می‌توانیم از یک فایل متنی ساده استفاده کنیم.


# فایل دفترچه تلفن را باز می‌کنیم
file = open("phonebook.txt", "w")
file.close()

در کد بالا، ما یک فایل به نام phonebook.txt ایجاد می‌کنیم. اگر فایل وجود داشته باشد، محتویات آن پاک خواهد شد.

گام دوم: افزودن اطلاعات تماس به فایل

حالا، می‌خواهیم اطلاعاتی مانند نام و شماره تلفن افراد را به فایل اضافه کنیم.


def add_contact(name, phone_number):
    file = open("phonebook.txt", "a")
    file.write(f"{name}:{phone_number}\n")
    file.close()

# مثال: افزودن یک تماس
add_contact("احمد", "0781234567")

در کد بالا، ما یک تابع به نام add_contact ایجاد می‌کنیم که نام و شماره تلفن را به فایل اضافه می‌کند.

گام سوم: نمایش اطلاعات تماس از فایل

حالا، می‌خواهیم اطلاعاتی که در فایل ذخیره شده‌اند را نمایش دهیم.


def display_contacts():
    try:
        file = open("phonebook.txt", "r")
        contacts = file.readlines()
        file.close()
        for contact in contacts:
            if contact.strip():  # چک کردن برای خطوط خالی
                name, phone_number = contact.strip().split(":")
                print(f"نام: {name}, شماره تلفن: {phone_number}")
    except FileNotFoundError:
        print("فایل وجود ندارد.")

# مثال: نمایش تماس‌ها
display_contacts()

در کد بالا، ما یک تابع به نام display_contacts ایجاد می‌کنیم که اطلاعات تماس را از فایل می‌خواند و نمایش می‌دهد.

گام چهارم: جستجو در بین اطلاعات تماس

حالا، می‌خواهیم بتوانیم در بین اطلاعات تماس جستجو کنیم.


def search_contact(name):
    try:
        file = open("phonebook.txt", "r")
        contacts = file.readlines()
        file.close()
        for contact in contacts:
            if contact.strip():  # چک کردن برای خطوط خالی
                stored_name, phone_number = contact.strip().split(":")
                if stored_name.lower() == name.lower():
                    print(f"نام: {stored_name}, شماره تلفن: {phone_number}")
                    return
        print("تماس یافت نشد.")
    except FileNotFoundError:
        print("فایل وجود ندارد.")

# مثال: جستجو برای یک تماس
search_contact("احمد")

در کد بالا، ما یک تابع به نام search_contact ایجاد می‌کنیم که براساس نام، تماس را جستجو می‌کند.

گام پنجم: حذف اطلاعات تماس از فایل

حالا، می‌خواهیم بتوانیم یک تماس را از فایل حذف کنیم.


def delete_contact(name):
    try:
        file = open("phonebook.txt", "r")
        contacts = file.readlines()
        file.close()
        new_contacts = []
        for contact in contacts:
            if contact.strip():  # چک کردن برای خطوط خالی
                stored_name, phone_number = contact.strip().split(":")
                if stored_name.lower() != name.lower():
                    new_contacts.append(contact)
        file = open("phonebook.txt", "w")
        file.writelines(new_contacts)
        file.close()
        print("تماس با موفقیت حذف شد.")
    except FileNotFoundError:
        print("فایل وجود ندارد.")

# مثال: حذف یک تماس
delete_contact("احمد")

در کد بالا، ما یک تابع به نام delete_contact ایجاد می‌کنیم که یک تماس را براساس نام حذف می‌کند.


مثال عملی: مدیریت دفترچه تلفن

حالا که توابع مختلف را یاد گرفتیم، می‌توانیم یک برنامه کامل برای مدیریت دفترچه تلفن بنویسیم.


def main():
    while True:
        print("\nگزینه‌ها:")
        
  • 1. افزودن تماس
  • 2. نمایش تماس‌ها
  • 3. جستجو برای تماس
  • 4. حذف تماس
  • 5. خروج
choice = input("یک گزینه را انتخاب کنید: ") if choice == "1": name = input("نام را وارد کنید: ") phone_number = input("شماره تلفن را وارد کنید: ") add_contact(name, phone_number) elif choice == "2": display_contacts() elif choice == "3": name = input("نام برای جستجو را وارد کنید: ") search_contact(name) elif choice == "4": name = input("نام برای حذف را وارد کنید: ") delete_contact(name) elif choice == "5": break else: print("گزینه معتبر نیست. لطفا دوباره تلاش کنید.") if __name__ == "__main__": main()

در کد بالا، ما یک برنامه کامل برای مدیریت دفترچه تلفن با گزینه‌های مختلف ایجاد کرده‌ایم.

یادگیری پایتون می‌تواند تجربه‌ای هیجان‌انگیز و کاربردی باشد، به خصوص وقتی که پروژه‌های عملی مانند این را انجام می‌دهید.


سؤالات متداول
  • چگونه می‌توانم فایل دفترچه تلفن را در مکان دیگری ذخیره کنم؟

    شما می‌توانید مسیر کامل فایل را در توابع open مشخص کنید.

  • آیا می‌توانم از پایگاه داده به جای فایل استفاده کنم؟

    بله، استفاده از پایگاه داده می‌تواند گزینه بهتری برای مدیریت داده‌های بزرگتر باشد.

تمرین‌ها
  • برنامه را طوری تغییر دهید که شماره تلفن را به صورت اختیاری بپذیرد.
  • قابلیت ویرایش اطلاعات تماس موجود را به برنامه اضافه کنید.

تمرین و تجربه، بهترین راه برای یادگیری است. پروژه‌های خود را بسازید و از یادگیری لذت ببرید!

به پایان این نوشته رسیدید.

شاید بخواهید بخوانید

گفت‌وگو درباره این نوشته

دیدگاه شما

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

دنبال چه می‌گردید؟

در میان مقاله‌ها، یادداشت‌ها و صفحات سایت جست‌وجو کنید.

همه چیز در دسترس

جعبه ابزار شما

خبرخوانخبرهای افغانستان و جهان نرخ اسعارنرخ ارزهای مختلف آب‌وهواوضعیت شهرها و ولایت‌ها تلویزیون زندهتماشای شبکه‌های تلویزیونی رادیو زندهصدای رادیوها قرآن صوتیشنیدن تلاوت قرآن اوقات شرعیزمان نمازها لرزه‌نگاریرویدادهای زمین‌لرزه

جهان نوشته‌ها

معلومات عمومی۱۰۲۸ نوشتهصحت۵۵۴ نوشتهآموزش‌ها۴۴۱ نوشتهتاریخ۴۳۳ نوشتهچرا ها؟۳۳۲ نوشتهوبلاگ۱۹۱ نوشتهمهارت‌های زندگی۸۹ نوشتهمبانی فلسفه‌ی غرب۵۰ نوشتهآموزش ساده پایتون۵۰ نوشتهاحمد ظاهر۴۷ نوشتهآلمان۲۵ نوشتهمهاجرت۲۲ نوشتهموسیقی۲۰ نوشتهکتابخانه۱۷ نوشتهپادکست۱۷ نوشتهورزش۱۵ نوشتهفرهنگ و هنر۱۵ نوشتهخبر۱۵ نوشتهمقالات۱۵ نوشتهخلاصه کتاب۱۵ نوشتهمحلی هراتی۱۴ نوشتهخبرها۱۴ نوشتهزبان آلمانی۱۳ نوشتههمه۱۳ نوشتهجامعه۱۳ نوشتهروایت‌ها۱۲ نوشتهدانش۱۲ نوشتهسلامت۱۲ نوشتهدرست بنویسیم۱۱ نوشتهسیاست۱۱ نوشتهیادداشت‌ها۱۱ نوشتهگزارش‌ها۱۱ نوشتهاصطلاحات سیاسی۱۰ نوشتهمقاله‌ها۱۰ نوشتهچگونه ویزا بگیریم؟۹ نوشتهشب‌نامه‌ها۸ نوشتهویژه۸ نوشتهابزار۸ نوشتهمطالب مناسبتی۶ نوشتهچگونه۶ نوشتهدنیای مهاجرت۶ نوشتهسفرنامه‌ها۶ نوشتهزندگی۶ نوشتهخبرها۵ نوشتهدانلود۵ نوشتهتکنالوژی۵ نوشتههوش مصنوعی۵ نوشتهکلاسیک۵ نوشتهپخش زنده تلویزیون های افغانستان۴ نوشتهمصاحبه‌ها۴ نوشتهآمار و ارقام مهاجرین۳ نوشتهکتاب۲ نوشتهپانزده اگست۱ نوشته

برای خواندن بعدی

نوشته‌هایی که در همین مرورگر ذخیره کرده‌اید.

منوی پیمان

PHP Code Snippets Powered By : XYZScripts.com
Verified by MonsterInsights