پیدا کردن مقسومعلیههای یک عدد
😇 تابعی بنویسید که یک عدد بگیرد و لیست مقسومعلیههای آن را برگرداند. 😇
☑️ راهحل چالش بالا
☑️ توضیح کد
1. یک تابع به نام find_divisors تعریف میکنیم که یک عدد n را به عنوان ورودی میگیرد.
2. یک لیست خالی به نام divisors ایجاد میکنیم تا مقسومعلیهها را در آن ذخیره کنیم.
3. با استفاده از یک حلقه for، اعداد از ۱ تا n را بررسی میکنیم.
4. اگر عدد i مقسومعلیه n باشد (یعنی n % i == 0)، آن را به لیست divisors اضافه میکنیم.
5. در نهایت، لیست divisors را برمیگردانیم.
#توضیح_چالش | آموزش پایتون
پاسخ چالش "تابعی بنویسید که دو رشته بگیرد و بررسی کند آیا آنها Anagram هستند یا نه"
🌟توضیحات کد:
1. حذف فاصلهها و تبدیل به حروف کوچک:
- s1.replace(" ", "").lower():
این خط از کد فاصلهها را از رشته اول s1 حذف میکند و آن را به حروف کوچک تبدیل میکند.
- s2.replace(" ", "").lower():
به همین ترتیب، فاصلهها را از رشته دوم s2 حذف و آن را به حروف کوچک تبدیل میکند.
2. مقایسه حروف:
- sorted(s1) == sorted(s2):
این خط از کد حروف هر دو رشته را به ترتیب مرتب میکند و سپس آنها را با یکدیگر مقایسه میکند. اگر دو رشته با هم برابر باشند (یعنی همه حروف یکسانی داشته باشند و تنها ترتیب آنها متفاوت باشد)، True برمیگرداند و در غیر این صورت False را برمیگرداند.
3. تست تابع:
- string1 = "Listen" و string2 = "Silent":
دو رشته به عنوان ورودی برای تست تابع تعریف شدهاند.1
- print(are_anagrams(string1, string2)):
خروجی این تابع نمایش میدهد که آیا این دو رشته آنگرام یکدیگر هستند یا خیر. در این مورد، خروجی True خواهد بود زیرا حروف هر دو رشته برابر هستند.
#توضیح_چالش | آموزش پایتون
لطفا در ایتا مطلب را دنبال کنید
مشاهده در پیام رسان ایتا
C++ vs Python
#طنز | آموزش پایتون
49.6M حجم رسانه بالاست
مشاهده در ایتا
Animation vs. Coding
تو 9 دقیقه به پایتون مسلط شو!😌
آموزش پایتون
این کد پایتون زمان فعلی را در دو منطقه زمانی مختلف (تهران و نیویورک) نمایش میدهد و همچنین زمان تهران را به زمان نیویورک تبدیل میکند. در این کد از ماژول datetime برای کار با تاریخ و زمان و از ماژول zoneinfo برای مدیریت مناطق زمانی استفاده شده است.
☑️ مراحل کد به شرح زیر است:
1. مناطق زمانی تهران و نیویورک با استفاده از ZoneInfo تعریف میشوند.
2. زمان فعلی در منطقه زمانی تهران با استفاده از datetime.now() دریافت و چاپ میشود.
3. زمان فعلی در منطقه زمانی نیویورک نیز به همین ترتیب دریافت و چاپ میشود.
4. زمان تهران به زمان نیویورک با استفاده از متد astimezone() تبدیل شده و نتیجه چاپ میشود.
این کد برای نمایش تفاوت زمان بین دو منطقه زمانی و تبدیل زمان بین آنها مفید است.
#datetime | #zoneinfo | #module | learnpythonicy
دستور while در یک نگاه!
یک ابزار مفید برای تکرار عملیات تا زمان برقراری یک شرط خاص است.
#while | #codeBites | learnpythonicy
ارسال پیام خودکار به واتساپ با Python! 🐍
با استفاده از کتابخانهی PyWhatKit در Python، میتوانید پیامهای متنی را به سرعت به شمارههای تلفن ارسال کنید.
در این مثال، ما یک پیام ساده به شمارهی "+989123456789" ارسال میکنیم. این کد به شما نشان میدهد که چطور میتوانید به سادگی با چند خط کد، ارتباطات خود را بهبود بخشید!
نکات کلیدی:
- 📞 شماره تلفن را با کد کشور وارد کنید.
- ✉️ متن پیام را با توجه به نیاز خود تغییر دهید.
- ⏳ با استفاده از wait_time، زمان لازم برای باز شدن واتساپ پیش از ارسال پیام را تنظیم کنید.
امیدوارم این کد برای شما مفید باشد! 💻✨
#pywhatkit | #whatsapp | learnpythonicy
این یک برنامه ساده به نام مدیریت مالی شخصی است که به کاربران امکان میدهد درآمدها و هزینههای خود را ثبت و مدیریت کنند.
این برنامه از کتابخانههای pandas برای مدیریت دادهها و matplotlib برای ایجاد گزارشهای تصویری استفاده میکند. در ادامه، توضیحات مربوط به کد آورده شده است:👇
#matplotlib | #pandas | learnpythonicy
☑️ ویژگیهای اصلی:
1. افزودن تراکنش: کاربران میتوانند یک تراکنش جدید را با مشخص کردن دستهبندی (مثلاً غذا، حقوق، اجاره)، نوع (درآمد/هزینه)، مقدار و تاریخ اضافه کنند.
2. مشاهده تراکنشها: کاربران میتوانند تمام تراکنشهای ثبتشده را در قالب جدول مشاهده کنند.
3. تولید گزارش: برنامه یک نمودار دایرهای ایجاد میکند که توزیع درآمدها و هزینهها را نشان میدهد.
4. خروج: کاربران میتوانند از برنامه خارج شوند.
---
☑️ توضیحات کد:
1. ساختار دادهها:
- یک DataFrame از کتابخانه pandas برای ذخیره اطلاعات مالی استفاده میشود. این DataFrame شامل ستونهای زیر است:
- Category: دستهبندی تراکنش (مثلاً غذا، حقوق، اجاره).
- Type: نوع تراکنش (درآمد یا هزینه).
- Amount: مقدار تراکنش.
- Date: تاریخ تراکنش.
2. افزودن تراکنش:
- تابع add_transaction یک تراکنش جدید را به DataFrame اضافه میکند. این تابع مقادیر ورودی کاربر را دریافت کرده و آنها را به DataFrame اضافه میکند.
3. مشاهده تراکنشها:
- تابع view_summary تمام تراکنشهای ثبتشده را در قالب جدول نمایش میدهد. اگر هیچ تراکنشی ثبت نشده باشد، پیامی مناسب نمایش داده میشود.
4. تولید گزارش:
- تابع generate_report یک نمودار دایرهای ایجاد میکند که درصد درآمدها و هزینهها را نشان میدهد. اگر هیچ تراکنشی ثبت نشده باشد، پیامی مناسب نمایش داده میشود.
5. منوی اصلی:
- یک حلقه while بینهایت وجود دارد که منوی اصلی را نمایش میدهد و بر اساس انتخاب کاربر، عملیات مناسب را انجام میدهد.
---
☑️ نحوه استفاده:
1. برنامه را اجرا کنید.
2. از منوی اصلی، گزینههای زیر را انتخاب کنید:
- 1: برای افزودن تراکنش جدید.
- 2: برای مشاهده تمام تراکنشها.
- 3: برای تولید گزارش تصویری.
- 4: برای خروج از برنامه.
---
مثال خروجی:
- پس از افزودن چند تراکنش، میتوانید تراکنشها را مشاهده کنید:
Summary of Transactions:
Category Type Amount Date
0 Food Expense 50.00 2025-03-19
1 Salary Income 2000.00 2025-03-19
- گزارش تصویری یک نمودار دایرهای است که درصد درآمدها و هزینهها را نشان میدهد.
---
🔘 این برنامه بهراحتی قابل توسعه است و میتوان ویژگیهایی مانند ذخیره دادهها در فایل، اضافه کردن دستهبندیهای بیشتر، یا محاسبه موجودی کلی را به آن اضافه کرد.
import pandas as pd
import matplotlib.pyplot as plt
# تعریف DataFrame برای ذخیره اطلاعات مالی
data = {
'Category': [],
'Type': [], # Income or Expense
'Amount': [],
'Date': []
}
df = pd.DataFrame(data)
def add_transaction(category, t_type, amount, date):
global df
new_transaction = {'Category': category, 'Type': t_type, 'Amount': amount, 'Date': date}
df = pd.concat([df, pd.DataFrame([new_transaction])], ignore_index=True)
print("Transaction added successfully!")
def view_summary():
if df.empty:
print("No transactions recorded.")
return
print("\nSummary of Transactions:")
print(df)
def generate_report():
if df.empty:
print("No transactions recorded to generate a report.")
return
# گروهبندی دادهها بر اساس نوع (درآمد و هزینه)
summary = df.groupby('Type')['Amount'].sum()
# رسم نمودار دایرهای
plt.figure(figsize=(6, 6))
summary.plot(kind='pie', autopct='%1.1f%%', startangle=90, labels=summary.index, colors=['#8BC34A', '#F44336'])
plt.title('Income vs Expense')
plt.ylabel('')
plt.show()
# منوی اصلی
while True:
print("\nPersonal Finance Manager")
print("1. Add Transaction")
print("2. View Transactions")
print("3. Generate Report")
print("4. Exit")
choice = input("Choose an option: ")
if choice == "1":
category = input("Enter category (e.g., Food, Salary, Rent): ")
t_type = input("Enter type (Income/Expense): ")
amount = float(input("Enter amount: "))
date = input("Enter date (YYYY-MM-DD): ")
add_transaction(category, t_type, amount, date)
elif choice == "2":
view_summary()
elif choice == "3":
generate_report()
elif choice == "4":
print("Exiting program. Have a great day!")
break
else:
print("Invalid choice. Please try again.")