پارت ۱۵: پروژه ۱ - مدیریت مخاطبین 📞📝
در این پارت، یک پروژه عملی برای مدیریت مخاطبین را پیادهسازی میکنیم. هدف این پروژه آشنایی با مفاهیم پایهای مانند کار با فایلها، دیکشنریها، و توابع است.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- اضافه کردن مخاطب جدید
- نمایش لیست مخاطبین
- جستجو در مخاطبین
- حذف مخاطب
- ذخیره و بازیابی مخاطبین در فایل
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
۳. توضیحات هر تابع
- تابع
- تابع
- تابع
- تابع
- تابع
- تابع
- تابع
۴. نکات مهم
- مدیریت فایل: برای ذخیره و بارگذاری مخاطبین از فایل JSON استفاده شده است تا بتوانیم دادهها را بین اجراهای مختلف برنامه حفظ کنیم.
- پیشگیری از خطا: در حذف مخاطب، اطمینان حاصل میشود که شماره وارد شده معتبر است.
- تعامل با کاربر: اطلاعات مخاطب را از ورودی کاربر گرفته و نتیجه عملیات را به کاربر نمایش میدهد.
🔻اینجا کلیک کن برای آموزش های بیشتر
#پایتون #آموزش_پایتون #پروژه_پایتون #مدیریت_مخاطبین #PythonProjects #ContactsManagement
در این پارت، یک پروژه عملی برای مدیریت مخاطبین را پیادهسازی میکنیم. هدف این پروژه آشنایی با مفاهیم پایهای مانند کار با فایلها، دیکشنریها، و توابع است.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- اضافه کردن مخاطب جدید
- نمایش لیست مخاطبین
- جستجو در مخاطبین
- حذف مخاطب
- ذخیره و بازیابی مخاطبین در فایل
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
import json
# مسیر فایل ذخیره مخاطبین
CONTACTS_FILE = 'contacts.json'
def load_contacts():
"""بارگذاری مخاطبین از فایل"""
try:
with open(CONTACTS_FILE, 'r') as file:
return json.load(file)
except FileNotFoundError:
return []
def save_contacts(contacts):
"""ذخیره مخاطبین در فایل"""
with open(CONTACTS_FILE, 'w') as file:
json.dump(contacts, file, indent=4)
def add_contact(contacts):
"""اضافه کردن مخاطب جدید"""
name = input("نام: ")
phone = input("شماره تلفن: ")
email = input("ایمیل: ")
contact = {
'name': name,
'phone': phone,
'email': email
}
contacts.append(contact)
print("مخاطب جدید اضافه شد.")
def display_contacts(contacts):
"""نمایش لیست مخاطبین"""
for idx, contact in enumerate(contacts, start=1):
print(f"{idx}. {contact['name']} - {contact['phone']} - {contact['email']}")
def search_contacts(contacts):
"""جستجو در مخاطبین"""
search_name = input("نام برای جستجو: ")
found_contacts = [c for c in contacts if search_name.lower() in c['name'].lower()]
if found_contacts:
for contact in found_contacts:
print(f"{contact['name']} - {contact['phone']} - {contact['email']}")
else:
print("مخاطبی پیدا نشد.")
def delete_contact(contacts):
"""حذف مخاطب"""
display_contacts(contacts)
idx = int(input("شماره مخاطب برای حذف: ")) - 1
if 0 <= idx < len(contacts):
deleted_contact = contacts.pop(idx)
print(f"مخاطب {deleted_contact['name']} حذف شد.")
else:
print("شماره نامعتبر است.")
def main():
contacts = load_contacts()
while True:
print("\nمدیریت مخاطبین:")
print("1. اضافه کردن مخاطب")
print("2. نمایش لیست مخاطبین")
print("3. جستجو در مخاطبین")
print("4. حذف مخاطب")
print("5. خروج")
choice = input("انتخاب شما: ")
if choice == '1':
add_contact(contacts)
elif choice == '2':
display_contacts(contacts)
elif choice == '3':
search_contacts(contacts)
elif choice == '4':
delete_contact(contacts)
elif choice == '5':
save_contacts(contacts)
break
else:
print("انتخاب نامعتبر است.")
if __name__ == '__main__':
main()
۳. توضیحات هر تابع
- تابع
load_contacts
: مخاطبین را از فایل JSON بارگذاری میکند. اگر فایل موجود نباشد، یک لیست خالی برمیگرداند.- تابع
save_contacts
: مخاطبین را در فایل JSON ذخیره میکند.- تابع
add_contact
: اطلاعات یک مخاطب جدید را از کاربر میگیرد و به لیست مخاطبین اضافه میکند.- تابع
display_contacts
: لیست مخاطبین را با استفاده از یک حلقه چاپ میکند.- تابع
search_contacts
: نام وارد شده را جستجو کرده و مخاطبین مرتبط را نمایش میدهد.- تابع
delete_contact
: مخاطب مورد نظر را بر اساس شماره انتخاب شده از لیست حذف میکند.- تابع
main
: حلقه اصلی برنامه که منوی اصلی را نمایش داده و انتخاب کاربر را مدیریت میکند.۴. نکات مهم
- مدیریت فایل: برای ذخیره و بارگذاری مخاطبین از فایل JSON استفاده شده است تا بتوانیم دادهها را بین اجراهای مختلف برنامه حفظ کنیم.
- پیشگیری از خطا: در حذف مخاطب، اطمینان حاصل میشود که شماره وارد شده معتبر است.
- تعامل با کاربر: اطلاعات مخاطب را از ورودی کاربر گرفته و نتیجه عملیات را به کاربر نمایش میدهد.
🔻اینجا کلیک کن برای آموزش های بیشتر
#پایتون #آموزش_پایتون #پروژه_پایتون #مدیریت_مخاطبین #PythonProjects #ContactsManagement
👍2
۴. نکات مهم
- مدیریت خطاها: در توابع
- ورودی کاربر: برنامه از کاربر مقادیر ورودی را دریافت کرده و نتیجه محاسبات را نمایش میدهد.
- تابع
🔻برای آموزش های بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #پروژه_پایتون #ماشین_حساب #PythonProjects #AdvancedCalculator
- مدیریت خطاها: در توابع
divide
, sqrt
و logarithm
برای جلوگیری از وقوع خطاها، بررسیهای لازم انجام شده است.- ورودی کاربر: برنامه از کاربر مقادیر ورودی را دریافت کرده و نتیجه محاسبات را نمایش میدهد.
- تابع
math
: برای انجام محاسبات پیچیدهتر از کتابخانه math
استفاده شده است.🔻برای آموزش های بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #پروژه_پایتون #ماشین_حساب #PythonProjects #AdvancedCalculator
👍1