Skip to content

Commit 5b6803f

Browse files
authored
Update tool-recommendations.rst
1 parent 6c792a1 commit 5b6803f

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

source/guides/tool-recommendations.rst

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)