برنامه دفترچه تلفن با فایل در پایتون
در این درس، میخواهیم یک برنامه ساده دفترچه تلفن با استفاده از فایل در پایتون بنویسیم. این برنامه به ما کمک میکند تا اطلاعات تماس افراد را ذخیره و مدیریت کنیم.
گام اول: ایجاد فایل برای ذخیره اطلاعات
ابتدا، باید یک فایل ایجاد کنیم تا اطلاعات تماس را در آن ذخیره کنیم. ما میتوانیم از یک فایل متنی ساده استفاده کنیم.
# فایل دفترچه تلفن را باز میکنیم
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مشخص کنید. - آیا میتوانم از پایگاه داده به جای فایل استفاده کنم؟
بله، استفاده از پایگاه داده میتواند گزینه بهتری برای مدیریت دادههای بزرگتر باشد.
تمرینها
- برنامه را طوری تغییر دهید که شماره تلفن را به صورت اختیاری بپذیرد.
- قابلیت ویرایش اطلاعات تماس موجود را به برنامه اضافه کنید.
تمرین و تجربه، بهترین راه برای یادگیری است. پروژههای خود را بسازید و از یادگیری لذت ببرید!