PyCoders (پایتون)
Open in Telegram
◇ #پایتون جادوگر دنیای برنامه نویسی! ◇ معرفی حوزه های کاری پایتون ◇ معرفی کتابخونه های کاربردی ◇ معرفی دوره های مفید ◇ معرفی تکنیک ها و نکات ◇ نقشه راه حوزه های مختلف ◇ اخبار و آپدیت های پایتون ◇ و هر چیزی در مورد پایتون! ■ گروه پایتون: @programmers_py
Show more4 106
Subscribers
No data24 hours
+57 days
No data30 days
Posts Archive
4 105
در اینجا چند تمرین با حلقه
while به زبان پایتون قراداد ایم که شامل مسئله، کد و توضیحات است:
### تمرین 1: چاپ اعداد 1 تا 10
صورت مسئله: برنامهای بنویسید که با استفاده از حلقه while اعداد 1 تا 10 را چاپ کند.
i = 1
while i <= 10:
print(i)
i += 1
توضیح: متغیر i از 1 شروع میشود. حلقه while تا زمانی که i کمتر یا مساوی 10 است ادامه مییابد و در هر تکرار، مقدار i چاپ شده و یک واحد افزایش مییابد.
---
### تمرین 2: محاسبه مجموع اعداد 1 تا n
صورت مسئله: برنامهای بنویسید که از کاربر یک عدد n بگیرد و مجموع اعداد از 1 تا n را با استفاده از حلقه while محاسبه کند.
n = int(input("یک عدد وارد کنید: "))
sum = 0
i = 1
while i <= n:
sum += i
i += 1
print(f"مجموع اعداد از 1 تا {n} برابر است با: {sum}")
توضیح: برنامه ابتدا عدد n را از کاربر دریافت میکند. متغیر sum برای ذخیره مجموع و i برای شمارش استفاده میشود. حلقه while تا زمانی که i کمتر یا مساوی n است، مقدار i را به sum اضافه کرده و i را افزایش میدهد.
---
### تمرین 3: شمارش معکوس
صورت مسئله: برنامهای بنویسید که از عدد 10 به صورت معکوس تا 1 شمارش کند و هر عدد را چاپ کند.
i = 10
while i >= 1:
print(i)
i -= 1
توضیح: متغیر i از 10 شروع میشود. حلقه while تا زمانی که i بزرگتر یا مساوی 1 است ادامه مییابد و در هر تکرار، مقدار i چاپ شده و یک واحد کاهش مییابد.
---
### تمرین 4: پیدا کردن اولین عدد زوج
صورت مسئله: برنامهای بنویسید که از کاربر اعداد را بگیرد و اولین عدد زوج وارد شده را چاپ کند. اگر کاربر عدد منفی وارد کرد، برنامه متوقف شود.
while True:
num = int(input("یک عدد وارد کنید: "))
if num < 0:
print("عدد منفی وارد شد. برنامه متوقف میشود.")
break
if num % 2 == 0:
print(f"اولین عدد زوج: {num}")
break
توضیح: حلقه while True به صورت بینهایت اجرا میشود مگر اینکه با break متوقف شود. برنامه عدد را از کاربر میگیرد. اگر عدد منفی باشد، برنامه متوقف میشود. اگر عدد زوج باشد (بخشپذیر بر 2)، آن را چاپ کرده و حلقه متوقف میشود.
---
### تمرین 5: محاسبه فاکتوریل
صورت مسئله: برنامهای بنویسید که فاکتوریل یک عدد n را با استفاده از حلقه while محاسبه کند.
n = int(input("یک عدد وارد کنید: "))
factorial = 1
i = 1
while i <= n:
factorial *= i
i += 1
print(f"فاکتوریل {n} برابر است با: {factorial}")
توضیح: متغیر factorial برای ذخیره نتیجه و i برای شمارش استفاده میشود. حلقه while تا زمانی که i کمتر یا مساوی n است، مقدار i را در factorial ضرب کرده و i را افزایش میدهد.
@python_rd
4 105
قدرت مخفی **kwargs 😮
وقتی نمیدونی یه فانکشن قراره چه تعداد یا چه اسمهایی از آرگومانها رو بگیره،
اصلا خوده**kwargs میتونه نجاتدهندهت باشه 😎
چی کار میکنه اصلاً **kwargs؟ 🤔
**kwargs در واقع یه syntax خاص در پایتون هست که به شما اجازه میده تا آرگومانهای نامدار (keyword arguments) رو به صورت دیکشنری به فانکشنها منتقل کنید. وقتی میگیم unpacking، منظور اینه که پایتون این دیکشنری رو میگیره و تبدیل میکنه به آرگومانهای جداگانه درون فانکشن. این فرایند باعث میشه که هیچگونه محدودیتی در تعداد آرگومانها نداشته باشیم.حالا بریم مثال اش رو ببینیم👨💻
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key.capitalize()}: {value}")
greet(name="Ali", age=27, city="Tehran")
📤 خروجی:
Name: Ali Age: 27 City: Tehran🧠 چی شد؟
خب **kwargs همه آرگومانهای نامدار رو میگیره و میریزه توی یه دیکشنری! خیلی کاربردیه برای فانکشنهای داینامیک، APIها یا موقعی که نمیدونی ورودی دقیقاً چیه!💡 ترفند: میتونی حتی **kwargs رو همونجوری که هست به یه فانکشن دیگه پاس بدی! خیلی وقتا این ترفند نجاتت میده... ولی چطوری؟ 🤔
python
def log_data(**data):
save_to_db(**data)
📌 توی پست پایتونی بعدی راجع به ترفند بالا صحبت میکنیم 😉
#python
@MoRezBin4 105
قدرت مخفی **kwargs 😮
وقتی نمیدونی یه فانکشن قراره چه تعداد یا چه اسمهایی از آرگومانها رو بگیره،
اصلا خوده**kwargs میتونه نجاتدهندهت باشه 😎
چی کار میکنه اصلاً **kwargs؟ 🤔
**kwargs در واقع یه syntax خاص در پایتون هست که به شما اجازه میده تا آرگومانهای نامدار (keyword arguments) رو به صورت دیکشنری به فانکشنها منتقل کنید.
وقتی میگیم unpacking، منظور اینه که پایتون این دیکشنری رو میگیره و تبدیل میکنه به آرگومانهای جداگانه درون فانکشن. این فرایند باعث میشه که هیچگونه محدودیتی در تعداد آرگومانها نداشته باشیم.
حالا بریم مثال اش رو ببینیم👨💻
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key.capitalize()}: {value}")
greet(name="Ali", age=27, city="Tehran")
📤 خروجی:
Name: Ali
Age: 27
City: Tehran
🧠 چی شد؟
خب **kwargs همه آرگومانهای نامدار رو میگیره و میریزه توی یه دیکشنری!
خیلی کاربردیه برای فانکشنهای داینامیک، APIها یا موقعی که نمیدونی ورودی دقیقاً چیه!
💡 ترفند: میتونی حتی **kwargs رو همونجوری که هست به یه فانکشن دیگه پاس بدی!
خیلی وقتا این ترفند نجاتت میده... ولی چطوری؟ 🤔
python
def log_data(**data):
save_to_db(**data)
@python_rd
4 105
فریمورک جَنگو (Django) یک فریمورک توسعه وب قدرتمند و رایگان بر پایه زبان پایتون است. هدف اصلی آن، توسعه سریع، کدنویسی تمیز و امنیت بالا است.
ویژگیهای کلیدی:
ORM (Object-Relational Mapping): تعامل ساده با دیتابیس بدون نیاز به SQL مستقیم.
Admin Panel خودکار: یک پنل مدیریتی قدرتمند که بهصورت خودکار ساخته میشود.
معماری MTV: شامل Model (مدل)، Template (قالب)، و View (نمایش)، مشابه MVC.
امنیت بالا: محافظت در برابر حملاتی مثل SQL Injection و XSS.
پشتیبانی از توسعه مقیاسپذیر: مناسب برای پروژههای کوچک تا بسیار بزرگ.
کاربردها:
برای ساخت وبسایتها، اپلیکیشنهای تحت وب، فروشگاههای آنلاین، شبکههای اجتماعی و حتی سیستمهای مدیریت محتوا (CMS) استفاده میشود.
@python_rd
4 105
جستجوی کلیدواژه معکوس
یک ابزار Python که به شما امکان می دهد تمام صفحات یک وب سایت معین را برای مدت زمان معین دانلود کنید و کلمات کلیدی را جستجو کنید.
https://github.com/lorenzoromani1983/wayback-keyword-search
4 105
جستجوی کلیدواژه معکوس
یک ابزار Python که به شما امکان می دهد تمام صفحات یک وب سایت معین را برای مدت زمان معین دانلود کنید و کلمات کلیدی را جستجو کنید.
https://github.com/lorenzoromani1983/wayback-keyword-search
4 105
📝 روز دوم از چالش مرور و خلاصه بندی زبان پایتون:
🟠 ورودی و خروجی (Input/Output)
✅هدف: یادگیری دستورات
input() و print() برای تعامل با کاربر.
امروز یاد میگیریم چطور با کاربر ارتباط برقرار کنیم.
♦️ دستور print():
✏️ چاپ اطلاعات:
از دستور print() برای نمایش متن یا اطلاعات استفاده میکنیم.
🎯 مثال:
print("Hello, world!")
این کد، متن Hello, world! رو چاپ میکنه."
♦️ دستور input()
💡 گرفتن ورودی از کاربر:
از دستور input() برای دریافت اطلاعات استفاده میکنیم.
🎯 مثال:
name = input("What is your name? ")
print("Hello, " + name)
این کد نام کاربر رو میپرسه و خوشامد میگه."
♦️ ترکیب input() و print()
📝 تمرین:
age = input("How old are you? ")
print("You are " + age + " years old!")
🔍چه اتفاقی میافته؟ امتحان کن!
🧨🧨 نکات مهم: نکات مهم
📚 نکته:
۱. ورودیهایی که با input() گرفته میشوند، همیشه به صورت متن (str) ذخیره میشوند.
۲. اگر به عدد نیاز داریم، باید تبدیل کنیم:
age = int(input("Enter your age: "))
❓ تمرین:
کد زیر رو اجرا کن و نتیجه رو حدس بزن:
num1 = int(input("Enter a number: "))
num2 = int(input("Enter another number: "))
print(num1 + num2)
💡 پاسخ تمرین:
این کد دو عدد رو از کاربر میگیره، به عدد تبدیل میکنه و جمع اونها رو چاپ میکنه.
🚀Telegram: @aiwithsanaz
💎 Instagram: @ai.with.sanaz4 105
بعد از یادگیری پایتون برای افزایش مهارت چه چیزهایی رو میتونیم یاد بگیریم؟
🔹 الگوریتمها و ساختمان دادهها: اینا پایههای برنامهنویسی هستن! یادگیری الگوریتمها و ساختمان دادهها بهت کمک میکنه تا بتونی مسائل رو به بهترین شکل حل کنی و کدهای بهینهتری بنویسی.
🔹 پایگاه دادهها (SQL و NoSQL): برای ذخیره و مدیریت دادهها به پایگاه دادهها نیاز داری. SQL برای دادههای ساختاریافته عالیه و NoSQL برای دادههای غیرساختاریافته.
🔹 فریمورکهای وب (Django, Flask): اگه بخوای وبسایت بسازی، این فریمورکها بهت کمک میکنن تا سریعتر و راحتتر کار کنی.
🔹 تست و Debugging: یادگیری روشهای تست و عیبیابی بهت کمک میکنه تا کدهای بدون اشکالی بنویسی و مشکلات رو سریعتر پیدا کنی.
🔹 مهارتهای مدیریت نسخه (Git): با Git میتونی تغییرات کد رو پیگیری کنی و با تیمهای دیگه به راحتی همکاری کنی.
🔹 کتابخانههای علمی (NumPy, Pandas, Matplotlib): این کتابخانهها برای کار با دادهها و تحلیلهای علمی خیلی مفیدن.
🔹 یادگیری ماشین (Scikit-learn, TensorFlow, PyTorch): اگر به هوش مصنوعی و یادگیری ماشین علاقهمندی، این ابزارها بهت کمک میکنن تا مدلهای هوشمند بسازی.
🔹 امنیت و شبکه: یادگیری اصول امنیت و شبکه بهت کمک میکنه تا نرمافزارهای امنتری بسازی و با تهدیدات سایبری بهتر مقابله کنی.
🔹 پردازش دادهها و Big Data: با یادگیری ابزارهای پردازش داده مثل Hadoop و Spark میتونی با دادههای خیلی بزرگ کار کنی.
🔹 توسعه API (RESTful, GraphQL): اگه بخوای اپلیکیشنهای وب یا موبایل بسازی، یادگیری API خیلی مهمه.
🔹 معماری نرمافزار: این بهت کمک میکنه تا بفهمی چطور باید نرمافزارها رو طراحی کنی تا مقیاسپذیری و نگهداری راحتتری داشته باشن.
🔹 DevOps و CI/CD: این مهارتها بهت کمک میکنن تا فرایند توسعه نرمافزار رو خودکار کنی و سریعتر به بازار عرضه کنی.
🔹 کار با دادههای حجیم (Hadoop, Spark): این ابزارها برای پردازش و آنالیز دادههای بزرگ بسیار کارآمدن.
🔹 توسعه موبایل (Kivy, BeeWare): با این فریمورکها میتونی اپلیکیشنهای موبایل بسازی.
🔹 اینترنت اشیا (IoT): اگر به پروژههای هوشمند علاقهمندی، یادگیری IoT بهت کمک میکنه.
🔹 توسعه بازی (Pygame): با Pygame میتونی بازیهای ساده بسازی و مهارتهای برنامهنویسی رو به صورت سرگرمکننده تقویت کنی.
🔹 پردازش تصویر (OpenCV): اگر به کار با تصاویر علاقهمندی، OpenCV ابزار فوقالعادهای برای پردازش تصویر هست.
🔹 توسعه اسکریپتها و اتوماسیون: با یادگیری این مهارت میتونی کارهای تکراری رو خودکار کنی و زمان خودت رو صرف کارهای مهمتر کنی.
🔹 برنامهنویسی موازی و چند نخی: این مهارت بهت کمک میکنه تا برنامههات رو سریعتر و بهینهتر اجرا کنی.
🔹 پردازش زبان طبیعی (NLTK, SpaCy): اگر به هوش مصنوعی و تحلیل متن علاقهمندی، این ابزارها برای پردازش زبان طبیعی عالی هستن.
@python_rd
4 105
در پایتون، خطاها (یا به اصطلاح Exceptions) به چند دسته کلی تقسیم میشن که هر کدوم کاربرد خاص خودش رو دارن. در ادامه مهمترین انواع خطاها رو میگم همراه با مثال ساده:
---
1. SyntaxError
خطای نحوی وقتی رخ میده که کد پایتون از نظر ساختار اشتباه باشه.
print("Hello" # فراموش کردن پرانتز بسته--- 2. NameError وقتی از متغیری استفاده کنی که تعریف نشده:
print(x) # اگر x تعریف نشده باشه--- 3. TypeError وقتی نوع دادهها درست استفاده نشده باشه:
"5" + 2 # نمیشه رشته و عدد رو جمع کرد--- 4. ValueError مقدار داده معتبر نیست، حتی اگر نوع درست باشه:
int("hello") # نمیشه رشتهی hello رو به عدد تبدیل کرد--- 5. IndexError دسترسی به اندیسی خارج از محدوده لیست:
lst = [1, 2, 3] print(lst[5])--- 6. KeyError وقتی کلیدی که در دیکشنری نیست رو فراخوانی میکنی:
d = {"name": "Ali"} print(d["age"])--- 7. AttributeError وقتی متدی رو روی شیای صدا بزنی که اون متد رو نداره:
x = 5 x.append(3) # عدد متد append نداره--- 8. ZeroDivisionError تقسیم عددی بر صفر:
a = 10 / 0--- 9. ImportError / ModuleNotFoundError وقتی ماژولی رو که وجود نداره ایمپورت کنی:
import notamodule--- 10. FileNotFoundError وقتی فایل موردنظر برای باز شدن وجود نداشته باشه:
open("nofile.txt")@python_rd
4 105
📝 روز اول از چالش مرور و خلاصه بندی زبان پایتون:
"🎉 امروز قراره با اولین قدمهای دنیای پایتون شروع کنیم.
✅موضوع امروز:
💠 متغیرها و انواع دادهها:
متغیر چیه؟ چطور اطلاعات رو تو برنامه ذخیره کنیم؟
🔺متغیرها مثل جعبههایی هستن که اطلاعات رو ذخیره میکنن.
🎯 مثال:
name = "Ali"
age = 25
اینجا name یه متغیر متنی و age یه متغیر عددی هست."
📚 انواع دادهها در پایتون:
۱. int - عدد صحیح (مثل ۱۰)
۲. float - عدد اعشاری (مثل ۳.۱۴)
۳. str - رشته متنی (مثل 'سلام')
۴. bool - مقادیر True یا False."
انواع دادهها (قسمت ۲):
"💡 مثال عملی:
x = 10 # عدد صحیح
y = 3.14 # عدد اعشاری
z = "Python" # رشته متنی
is_fun = True # مقدار بولی
هر متغیر نوع خاص خودش رو داره!
"📝 مثال:
نتیجهی کد زیر رو حدس بزنید:
a = 5
b = 7
c = a + b
print(c)
🎉 جواب:
کد بالا مقدار ۱۲ رو چاپ میکنه، چون a و b با هم جمع شدن!
❓ سؤال:
اگر متغیر زیر تعریف بشه، چه نوع دادهای داره؟
pi = 3.14
📊 نظرسنجی:
۱. int
۲. float
۳. str."
"🚀 امروز با متغیرها و انواع دادهها آشنا شدیم.
🔺فردا: یاد میگیریم چطور داده رو از کاربر بگیریم (Input) و نمایش بدیم (Output).
🚀Telegram: @aiwithsanaz
💎 Instagram: @ai.with.sanaz