@@ -183,3 +183,89 @@ alphabetical order:
183183.. _hatchling : https://pypi.org/project/hatchling/
184184.. _pdm-backend : https://backend.pdm-project.org
185185.. _poetry-core : https://pypi.org/project/poetry-core/
186+ from tabulate import tabulate # برای نمایش جدول زیبا
187+
188+ # لیست برای ذخیره اطلاعات
189+ مدیریت_پول = []
190+
191+ def اضافه_کردن_خرید():
192+ print("\n --- اضافه کردن خرید جدید ---")
193+ نام_جنس = input("نام جنس را وارد کنید: ")
194+ مقدار_پول = float(input("مقدار پول را وارد کنید: "))
195+ تاریخ = input("تاریخ را وارد کنید (مثال: 1403/01/15): ")
196+
197+ # ذخیره اطلاعات در لیست
198+ خرید = {
199+ "نام جنس": نام_جنس,
200+ "مقدار پول": مقدار_پول,
201+ "تاریخ": تاریخ
202+ }
203+ مدیریت_پول.append(خرید)
204+ print(f"خرید '{نام_جنس}' با موفقیت اضافه شد!\n ")
205+
206+ def نمایش_خریدها():
207+ if not مدیریت_پول:
208+ print("هنوز خریدی ثبت نشده است!\n ")
209+ else:
210+ # تبدیل لیست به جدول زیبا
211+ جدول = []
212+ for i, خرید in enumerate(مدیریت_پول, start=1):
213+ جدول.append([i, خرید['نام جنس'], خرید['مقدار پول'], خرید['تاریخ']])
214+
215+ # نمایش جدول
216+ print("\n --- لیست خریدها ---")
217+ print(tabulate(جدول, headers=["شماره", "نام جنس", "مقدار پول", "تاریخ"], tablefmt="pretty"))
218+ print()
219+
220+ def ویرایش_خرید():
221+ نمایش_خریدها()
222+ if not مدیریت_پول:
223+ return
224+
225+ try:
226+ شماره = int(input("شماره خریدی که میخواهید ویرایش کنید را وارد کنید: ")) - 1
227+ if 0 <= شماره < len(مدیریت_پول):
228+ خرید = مدیریت_پول[شماره]
229+ print(f"\n ویرایش خرید: {خرید['نام جنس']}")
230+ خرید['نام جنس'] = input("نام جنس جدید را وارد کنید (خالی بگذارید برای تغییر ندادن): ") or خرید['نام جنس']
231+ مقدار_جدید = input("مقدار پول جدید را وارد کنید (خالی بگذارید برای تغییر ندادن): ")
232+ خرید['مقدار پول'] = float(مقدار_جدید) if مقدار_جدید else خرید['مقدار پول']
233+ خرید['تاریخ'] = input("تاریخ جدید را وارد کنید (خالی بگذارید برای تغییر ندادن): ") or خرید['تاریخ']
234+ print("خرید با موفقیت ویرایش شد!\n ")
235+ else:
236+ print("شماره خرید نامعتبر است!\n ")
237+ except ValueError:
238+ print("لطفاً یک عدد وارد کنید!\n ")
239+
240+ def ذخیره_در_فایل():
241+ with open("مدیریت_پول.txt", "w", encoding="utf-8") as فایل:
242+ for خرید in مدیریت_پول:
243+ فایل.write(f"{خرید['نام جنس']}, {خرید['مقدار پول']}, {خرید['تاریخ']}\n ")
244+ print("اطلاعات با موفقیت در فایل ذخیره شد!\n ")
245+
246+ def منو():
247+ while True:
248+ print("--- منوی مدیریت پول ---")
249+ print("1. اضافه کردن خرید جدید")
250+ print("2. نمایش لیست خریدها")
251+ print("3. ویرایش خرید")
252+ print("4. ذخیره اطلاعات در فایل")
253+ print("5. خروج")
254+ انتخاب = input("یک گزینه انتخاب کنید: ")
255+
256+ if انتخاب == "1":
257+ اضافه_کردن_خرید()
258+ elif انتخاب == "2":
259+ نمایش_خریدها()
260+ elif انتخاب == "3":
261+ ویرایش_خرید()
262+ elif انتخاب == "4":
263+ ذخیره_در_فایل()
264+ elif انتخاب == "5":
265+ print("خروج از برنامه...")
266+ break
267+ else:
268+ print("گزینه نامعتبر! لطفاً عدد بین 1 تا 5 وارد کنید.\n ")
269+
270+ # اجرای برنامه
271+ منو()
0 commit comments