✔️آموزش بعدی: حلقهها (Loops) در پایتون
حلقهها زمانی استفاده میشوند که بخواهیم یک کار را چند بار یا برای مجموعهای از دادهها انجام دهیم.
❗️پایتون دو نوع حلقه اصلی دارد:
حلقه for
حلقه while
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
حلقهها زمانی استفاده میشوند که بخواهیم یک کار را چند بار یا برای مجموعهای از دادهها انجام دهیم.
❗️پایتون دو نوع حلقه اصلی دارد:
حلقه for
حلقه while
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤4
💢💢حلقه for در پایتون، یکی از ابزارهای اساسی برای تکرار و اجرای یک قطعه کد به تعداد مشخص است.
فرض کنید لیستی از اعداد دارید و میخواهید کار مشخصی را برای هر عدد در آن لیست انجام دهید. به جای اینکه کد خود را بارها و بارها تکرار کنید، میتوانید از حلقه for استفاده کنید.
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
فرض کنید لیستی از اعداد دارید و میخواهید کار مشخصی را برای هر عدد در آن لیست انجام دهید. به جای اینکه کد خود را بارها و بارها تکرار کنید، میتوانید از حلقه for استفاده کنید.
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤4
❗️یه مثال خیلی ساده
میوه_ها = ["سیب", "موز", "پرتقال"]
for میوه in میوه_ها:
print(میوه)
و برنامه میاد هر ۳ تا میوه رو برای ما پرینت میکنه
در این مثال، در تکرار اول، میوه برابر با “سیب” میشود و print(میوه) آن را چاپ میکند.
در تکرار دوم، میوه برابر با “موز” میشود و همینطور تا انتهای لیست ادامه پیدا میکند....
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
میوه_ها = ["سیب", "موز", "پرتقال"]
for میوه in میوه_ها:
print(میوه)
و برنامه میاد هر ۳ تا میوه رو برای ما پرینت میکنه
در این مثال، در تکرار اول، میوه برابر با “سیب” میشود و print(میوه) آن را چاپ میکند.
در تکرار دوم، میوه برابر با “موز” میشود و همینطور تا انتهای لیست ادامه پیدا میکند....
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤5
💢استفاده از range():
تابع range() برای تولید دنبالهای از اعداد به کار میرود و اغلب در حلقههای for استفاده میشود.
رrange(stop): از 0 تا stop-1 را تولید میکند.
رrange(start, stop): از start تا stop-1 را تولید میکند. با گام ۱
رrange(start, stop, step): از start تا stop-1 با گام step تولید میکند.
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
تابع range() برای تولید دنبالهای از اعداد به کار میرود و اغلب در حلقههای for استفاده میشود.
رrange(stop): از 0 تا stop-1 را تولید میکند.
رrange(start, stop): از start تا stop-1 را تولید میکند. با گام ۱
رrange(start, stop, step): از start تا stop-1 با گام step تولید میکند.
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤2
❗️مثال چاپ اعداد 0 تا 4
for i in range(5):
print(i)
-------------------------
❗️مثال: چاپ اعداد زوج از 2 تا 10
for i in range(2, 11, 2):
print(i)
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
for i in range(5):
print(i)
-------------------------
❗️مثال: چاپ اعداد زوج از 2 تا 10
for i in range(2, 11, 2):
print(i)
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤2
📌و حالا تمرینات
❗️1) برنامه ای بنویسید یک رشته ای رو از کاربر دریافت کنه و هر کاراکتر رو در یک خط جدا چاپ کنه.
(مثلا اینطوری سلام رو چاپ کنه)
س
ل
ا
م
❗️2)برنامه ای بنویسید که اعداد زوج ۱ تا ۱۰ رو پرینت کنه.(قابل حل با ۲ روش)
❗️3)برنامه ای بنویسید که اعداد فرد در لیست زیر رو چاپ کنه. [3,34,67,89,12,11] = x
❗️4)برنامه ای بنویسید که جمع اعداد ۱ تا ۱۰ رو حساب کنه.
❗️5)برنامه ای بنویسید که در لیست نمرات [12,20,7,1,10,9,15] = y نمره های کمتر از 10 رو چاپ کنه.
❗️6) برنامه ای بنویسید که اگر در لیست نمرات زیر ۳ نمره از ۱۰ کمتر بود پیام مردودی رو چاپ کنه.
[12,20,7,1,10,9,15] = y
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❗️1) برنامه ای بنویسید یک رشته ای رو از کاربر دریافت کنه و هر کاراکتر رو در یک خط جدا چاپ کنه.
(مثلا اینطوری سلام رو چاپ کنه)
س
ل
ا
م
❗️2)برنامه ای بنویسید که اعداد زوج ۱ تا ۱۰ رو پرینت کنه.(قابل حل با ۲ روش)
❗️3)برنامه ای بنویسید که اعداد فرد در لیست زیر رو چاپ کنه. [3,34,67,89,12,11] = x
❗️4)برنامه ای بنویسید که جمع اعداد ۱ تا ۱۰ رو حساب کنه.
❗️5)برنامه ای بنویسید که در لیست نمرات [12,20,7,1,10,9,15] = y نمره های کمتر از 10 رو چاپ کنه.
❗️6) برنامه ای بنویسید که اگر در لیست نمرات زیر ۳ نمره از ۱۰ کمتر بود پیام مردودی رو چاپ کنه.
[12,20,7,1,10,9,15] = y
●● ⌨️ ●●🖥 ●●🗞●●
🆔@learn_pythonbme
❤3
PYTHON |
📌و حالا تمرینات ❗️1) برنامه ای بنویسید یک رشته ای رو از کاربر دریافت کنه و هر کاراکتر رو در یک خط جدا چاپ کنه. (مثلا اینطوری سلام رو چاپ کنه) س ل ا م ❗️2)برنامه ای بنویسید که اعداد زوج ۱ تا ۱۰ رو پرینت کنه.(قابل حل با ۲ روش) ❗️3)برنامه ای بنویسید که اعداد…
سوال 1
ما با input از کاربر خواستیم یه رشته رو وارد کنه
بعد با حلقه for اومدیم روی اون پیمایش انجام دادیم.
مثلا ما اینجا salam رو وارد کردیم
حلقه میاد s رو پرینت میکنه و برمیگرده از اول
بعد a رو پرینت میکنه میره از اول و همینطوری ادامه میده تا به اخر رشته برسه
ما با input از کاربر خواستیم یه رشته رو وارد کنه
بعد با حلقه for اومدیم روی اون پیمایش انجام دادیم.
مثلا ما اینجا salam رو وارد کردیم
حلقه میاد s رو پرینت میکنه و برمیگرده از اول
بعد a رو پرینت میکنه میره از اول و همینطوری ادامه میده تا به اخر رشته برسه
❤3
سوال 2
روش اول با حلقه بیایم از ۲ تا ۱۰
۲ تا ۲ تا بریم جلو که همون اعداد زوج میشه
همونطور که گفتیم از range برای بازه های اعداد استفاده میشه و از ۲ شروع میشه تا ۱۰(خود ۱۱ حساب نمیشه) و ۲ آخر هم گام حلقه هس
روش دوم اعداد بین ۱ تا ۱۰ رو با حلقه ایجاد کنیم و بگیم هر عددی که باقی موندش بر ۲ صفر شد رو پرینت کن
روش اول با حلقه بیایم از ۲ تا ۱۰
۲ تا ۲ تا بریم جلو که همون اعداد زوج میشه
همونطور که گفتیم از range برای بازه های اعداد استفاده میشه و از ۲ شروع میشه تا ۱۰(خود ۱۱ حساب نمیشه) و ۲ آخر هم گام حلقه هس
روش دوم اعداد بین ۱ تا ۱۰ رو با حلقه ایجاد کنیم و بگیم هر عددی که باقی موندش بر ۲ صفر شد رو پرینت کن
❤3
سوال 4
اول از همه ما باید یه شماره که مقدارش صفر هس رو تعریف کنیم چرا؟ چون هنوز عملیاتی انجام نشده و جمع اعداد صفر هست
بعد میایم با حلقه اعداد بین ۱ تا ۱۰ رو ایجاد میکنیم و میگیم i رو به jam اضافه کن!
مثلا اول ۱ میاد تو حلقه و jam = 1 میشه
بعد حلقه میره روی ۲ و jam = 1 + 2
بعد دوباره میره روی ۳ و jam =1+2+3
و همینطوری حلقه تا اخر میره..
اول از همه ما باید یه شماره که مقدارش صفر هس رو تعریف کنیم چرا؟ چون هنوز عملیاتی انجام نشده و جمع اعداد صفر هست
بعد میایم با حلقه اعداد بین ۱ تا ۱۰ رو ایجاد میکنیم و میگیم i رو به jam اضافه کن!
مثلا اول ۱ میاد تو حلقه و jam = 1 میشه
بعد حلقه میره روی ۲ و jam = 1 + 2
بعد دوباره میره روی ۳ و jam =1+2+3
و همینطوری حلقه تا اخر میره..
❤3
سوال 6
اول باید یه متغیر با مقدار صفر تعریف کنیم چرا؟ چون هنوز تعداد نمرات کمتر از ۱۰ رو نشمردیم
حالا رو لیست حلقه ایجاد میکنیم
و میگیم هر کدوم که کمتر ۱۰ بود بیا یکی به متغیر اضافه کن.
مثلا ۱۲ رو چک میکنه میبینه نیس
میره بعدی ۱۰ رو چک میکنه میبنه نیس میره بعدی
میرسه به ۷ و میبینه داخل شرط برقراره پس count = 1
بعدی ۱ رو میبینه داخل شرط درسته پس count = 1+1 و همیتطوری تا اخر
حالا دوباره شرط میزاریم میگیم اگه تعداد count بزرگتر مساوی با ۳ بود پیام مردودی رو چاپ کن.
اول باید یه متغیر با مقدار صفر تعریف کنیم چرا؟ چون هنوز تعداد نمرات کمتر از ۱۰ رو نشمردیم
حالا رو لیست حلقه ایجاد میکنیم
و میگیم هر کدوم که کمتر ۱۰ بود بیا یکی به متغیر اضافه کن.
مثلا ۱۲ رو چک میکنه میبینه نیس
میره بعدی ۱۰ رو چک میکنه میبنه نیس میره بعدی
میرسه به ۷ و میبینه داخل شرط برقراره پس count = 1
بعدی ۱ رو میبینه داخل شرط درسته پس count = 1+1 و همیتطوری تا اخر
حالا دوباره شرط میزاریم میگیم اگه تعداد count بزرگتر مساوی با ۳ بود پیام مردودی رو چاپ کن.
❤3
💢چند تا دیگه تمرین برای تسلط به if و for
1)برنامه ای بنویسید که از اعداد ۱ تا ۱۰۰ فقط اعدادی که هم مضرب ۳ و هم مضرب ۵ هستن رو چاپ کنه
2)برنامهای بنویسید که عددی بگیرد و بگوید اول است یا نه
3)برنامه ای بنویسید که فاکتوریل یه عدد رو حساب کنه.
4)یک لیست نمره داشته باش. اگر نمره زیر 10 بود “ضعیف”، بین 10 و 15 “متوسط”، بالای 15 “عالی” چاپ شود.
5)یک رشته مثل "hello world" داشته باش و تعداد فاصلههای داخلش را بدون هیچ تابع خاصی بشمار.
6)لیست [4, -1, 7, 0, -3, 9] را پیمایش کن و فقط اعداد منفی را چاپ کن.
7)در یک رشته، تعداد حروف 'a' را بشمار.
8)یک لیست عددی داشته باش و بزرگترین عدد را با یک متغیر کمکی (مثل max_num) پیدا کن.
9)یک عدد از کاربر بگیر و چاپ کن که آیا در بازهی 0 تا 50 هست یا نه.
10)یک عدد از کاربر بگیر و بررسی کن که آیا عدد مربع کامل است یا نه.
1)برنامه ای بنویسید که از اعداد ۱ تا ۱۰۰ فقط اعدادی که هم مضرب ۳ و هم مضرب ۵ هستن رو چاپ کنه
2)برنامهای بنویسید که عددی بگیرد و بگوید اول است یا نه
3)برنامه ای بنویسید که فاکتوریل یه عدد رو حساب کنه.
4)یک لیست نمره داشته باش. اگر نمره زیر 10 بود “ضعیف”، بین 10 و 15 “متوسط”، بالای 15 “عالی” چاپ شود.
5)یک رشته مثل "hello world" داشته باش و تعداد فاصلههای داخلش را بدون هیچ تابع خاصی بشمار.
6)لیست [4, -1, 7, 0, -3, 9] را پیمایش کن و فقط اعداد منفی را چاپ کن.
7)در یک رشته، تعداد حروف 'a' را بشمار.
8)یک لیست عددی داشته باش و بزرگترین عدد را با یک متغیر کمکی (مثل max_num) پیدا کن.
9)یک عدد از کاربر بگیر و چاپ کن که آیا در بازهی 0 تا 50 هست یا نه.
10)یک عدد از کاربر بگیر و بررسی کن که آیا عدد مربع کامل است یا نه.
❤3
✔️امروز بریم سراغ مفاهیم پایتون که برای کد نویسی باید بفهمید .
💢 1) تورفتگی ها:
یکی از ویژگیهای مهم و در عین حال متمایز کننده پایتون، استفاده از تورفتگی برای تعریف بلوکهای کد هست. بر خلاف زبانهای دیگه که از آکولاد {} استفاده میکنن، پایتون از فاصله (معمولاً ۴ اسپیس) برای مشخص کردن شروع و پایان بلوکهای کد مثل حلقهها (for, while)، شرطها (if, else) و تعریف توابع (def) و کلاسها (class) استفاده میکنه.
چرا مهمه؟
خوانایی: تورفتگی کد پایتون رو بسیار خوانا و منظم میکنه.
اجبار: پایتون به تورفتگی اهمیت میده و اگر کد شما تورفتگی درستی نداشته باشه، خطا (IndentationError) دریافت میکنید.
❗️مثال
def greet(name):
if name == "Admin":
print("Welcome, Admin!")
این خط داخل if هست
else:
print("Hello, " + name)
این خط داخل else هست
print("End of greeting")
این خط بیرون از if/else هست و ربطی به اونا نداره.
در کد بالا، خطوطی که زیر def greet(name): با ۴ اسپیس تورفتگی دارن، متعلق به تابع greet هستن.
به همین ترتیب، خطوط زیر if و else هم با تورفتگی بیشتری مشخص شدن.
💢 1) تورفتگی ها:
یکی از ویژگیهای مهم و در عین حال متمایز کننده پایتون، استفاده از تورفتگی برای تعریف بلوکهای کد هست. بر خلاف زبانهای دیگه که از آکولاد {} استفاده میکنن، پایتون از فاصله (معمولاً ۴ اسپیس) برای مشخص کردن شروع و پایان بلوکهای کد مثل حلقهها (for, while)، شرطها (if, else) و تعریف توابع (def) و کلاسها (class) استفاده میکنه.
چرا مهمه؟
خوانایی: تورفتگی کد پایتون رو بسیار خوانا و منظم میکنه.
اجبار: پایتون به تورفتگی اهمیت میده و اگر کد شما تورفتگی درستی نداشته باشه، خطا (IndentationError) دریافت میکنید.
❗️مثال
def greet(name):
if name == "Admin":
print("Welcome, Admin!")
این خط داخل if هست
else:
print("Hello, " + name)
این خط داخل else هست
print("End of greeting")
این خط بیرون از if/else هست و ربطی به اونا نداره.
در کد بالا، خطوطی که زیر def greet(name): با ۴ اسپیس تورفتگی دارن، متعلق به تابع greet هستن.
به همین ترتیب، خطوط زیر if و else هم با تورفتگی بیشتری مشخص شدن.
❤2
✔️2) قواعد نامگذاری (Naming Conventions)
نامگذاری صحیح متغیرها، توابع، کلاسها و ماژولها به خوانایی و نگهداری کد کمک زیادی میکنه. پایتون قواعد خاصی نداره اما یک سبک مرسوم (PEP 8) وجود داره که اکثر برنامهنویسان پایتون ازش پیروی میکنن:
متغیرها و توابع (Variables and Functions):
از نامهای کوچک (lowercase) استفاده کنید و کلمات رو با آندرلاین (_) از هم جدا کنید (snake_case).
❗️مثال: user_name, calculate_total_price, is_valid
کلاسها (Classes): از نامهای با حرف اول بزرگ و به صورت CamelCase استفاده کنید (PascalCase).
❗️مثال: UserProfile, DatabaseConnection, HttpRequest
ثابتها (Constants): نام ثابتها رو با حروف بزرگ و با آندرلاین جدا کنید (UPPER_SNAKE_CASE).
❗️مثال: MAX_CONNECTIONS, PI
ماژولها (Modules): نام ماژولها بهتره کوتاه، کوچک و در صورت نیاز با آندرلاین جدا بشه.
❗️مثال: utils.py, http_client.py
نکات مهم:
⭕️نامها نباید با عدد شروع بشن.
⭕️از کلمات کلیدی پایتون (مثل if, for, def, class, import) به عنوان نام متغیر یا تابع استفاده نکنید.
⭕️نامها به بزرگی و کوچکی حروف حساس هستن (myVariable با myvariable فرق داره).
نامگذاری صحیح متغیرها، توابع، کلاسها و ماژولها به خوانایی و نگهداری کد کمک زیادی میکنه. پایتون قواعد خاصی نداره اما یک سبک مرسوم (PEP 8) وجود داره که اکثر برنامهنویسان پایتون ازش پیروی میکنن:
متغیرها و توابع (Variables and Functions):
از نامهای کوچک (lowercase) استفاده کنید و کلمات رو با آندرلاین (_) از هم جدا کنید (snake_case).
❗️مثال: user_name, calculate_total_price, is_valid
کلاسها (Classes): از نامهای با حرف اول بزرگ و به صورت CamelCase استفاده کنید (PascalCase).
❗️مثال: UserProfile, DatabaseConnection, HttpRequest
ثابتها (Constants): نام ثابتها رو با حروف بزرگ و با آندرلاین جدا کنید (UPPER_SNAKE_CASE).
❗️مثال: MAX_CONNECTIONS, PI
ماژولها (Modules): نام ماژولها بهتره کوتاه، کوچک و در صورت نیاز با آندرلاین جدا بشه.
❗️مثال: utils.py, http_client.py
نکات مهم:
⭕️نامها نباید با عدد شروع بشن.
⭕️از کلمات کلیدی پایتون (مثل if, for, def, class, import) به عنوان نام متغیر یا تابع استفاده نکنید.
⭕️نامها به بزرگی و کوچکی حروف حساس هستن (myVariable با myvariable فرق داره).
❤2
✔️3)انواع دادهها (Data Types)
پایتون انواع دادههای مختلفی داره که هر کدوم برای ذخیره نوع خاصی از اطلاعات به کار میرن:
⭕️اعداد (Numbers):
int: اعداد صحیح (مثال: 10, -5)
float: اعداد اعشاری (مثال: 3.14, -0.5)
complex: اعداد مختلط (مثال: 3+5j)
⭕️رشتهها (Strings):
توالی کاراکترها که با کوتیشن تکی (') یا دوتایی (") مشخص میشن.
مثال: 'Hello', "Python"
⭕️بولین (Boolean):
فقط دو مقدار True و False رو داره.
⭕️لیستها (Lists):
مجموعهای مرتب و قابل تغییر (mutable) از آیتمها که با کروشه [] تعریف میشن.
مثال: [1, "apple", 3.14, True]
⭕️تاپلها (Tuples):
شبیه لیستها هستن اما غیرقابل تغییر (immutable) و با پرانتز () تعریف میشن.
مثال: (1, "banana", 2.71)
⭕️دیکشنریها (Dictionaries):
مجموعهای نامرتب از جفتهای کلید-مقدار (key-value pairs) که با آکولاد {} تعریف میشن.
مثال: {"name": "Alice", "age": 30}
⭕️مجموعهها (Sets):
مجموعهای نامرتب و بدون تکرار از آیتمها که با آکولاد {} تعریف میشن (برای دیکشنری ازشون جدا میشه).
مثال: {1, 2, 3, "hello"}
پایتون انواع دادههای مختلفی داره که هر کدوم برای ذخیره نوع خاصی از اطلاعات به کار میرن:
⭕️اعداد (Numbers):
int: اعداد صحیح (مثال: 10, -5)
float: اعداد اعشاری (مثال: 3.14, -0.5)
complex: اعداد مختلط (مثال: 3+5j)
⭕️رشتهها (Strings):
توالی کاراکترها که با کوتیشن تکی (') یا دوتایی (") مشخص میشن.
مثال: 'Hello', "Python"
⭕️بولین (Boolean):
فقط دو مقدار True و False رو داره.
⭕️لیستها (Lists):
مجموعهای مرتب و قابل تغییر (mutable) از آیتمها که با کروشه [] تعریف میشن.
مثال: [1, "apple", 3.14, True]
⭕️تاپلها (Tuples):
شبیه لیستها هستن اما غیرقابل تغییر (immutable) و با پرانتز () تعریف میشن.
مثال: (1, "banana", 2.71)
⭕️دیکشنریها (Dictionaries):
مجموعهای نامرتب از جفتهای کلید-مقدار (key-value pairs) که با آکولاد {} تعریف میشن.
مثال: {"name": "Alice", "age": 30}
⭕️مجموعهها (Sets):
مجموعهای نامرتب و بدون تکرار از آیتمها که با آکولاد {} تعریف میشن (برای دیکشنری ازشون جدا میشه).
مثال: {1, 2, 3, "hello"}
❤3
✔️4)کامنتها (Comments)
برای اضافه کردن توضیحات به کد که توسط مفسر پایتون نادیده گرفته میشن، از کامنت استفاده میکنیم. این توضیحات برای درک بهتر کد توسط خودمون یا دیگران خیلی مفیده.
تک خطی: با علامت # شروع میشه.
چند خطی: معمولاً با سه تا کوتیشن تکی (''') یا دوتایی (""") شروع و پایان پیدا میکنه.
برای اضافه کردن توضیحات به کد که توسط مفسر پایتون نادیده گرفته میشن، از کامنت استفاده میکنیم. این توضیحات برای درک بهتر کد توسط خودمون یا دیگران خیلی مفیده.
تک خطی: با علامت # شروع میشه.
چند خطی: معمولاً با سه تا کوتیشن تکی (''') یا دوتایی (""") شروع و پایان پیدا میکنه.
❤2❤🔥1