خانه / درس ۲ مقدماتی: ساختارهای کنترلی – شرطها و حلقهها در پایتون درس ۲ مقدماتی: ساختارهای کنترلی – شرطها و حلقهها در پایتون 📅 ۱۴۰۴/۰۷/۲۸ ✍️ سجاد ⌛ 5 دقیقه مطالعه 👁️ 36 پایتون | Python مقدماتی 🗨️ 🤍 5 📤 0% ‹ بستن لیست دروس بازکردن لیست دروس پایتون | Python مقدماتی ▾ میخوای برنامهت بتونه تصمیم بگیره یا کارها رو خودش تکرار کنه؟ 🤖 بدون شرطها و حلقهها، برنامهها مثل یه ماشین خاموشن! برای مثال، میتونی برنامهای بسازی که بگه کاربر بزرگساله یا نه، یا جدول ضرب رو خودکار چاپ کنه. تو این درس، با شرطها (if-elif-else) و حلقهها (for و while) آشنا میشی تا ماشین حساب درس قبل رو به یه ابزار هوشمند تبدیل کنی. بنابراین، اگر درس ۱ رو خوب یاد گرفتی، حالا آمادهای که برنامههات رو زنده کنی! 🚀 این درس با مثالهای واقعی، جداول مقایسه، تمرینهای متنوع و یه پروژه جذاب، تو رو برای درسهای بعدی آماده میکنه. بریم شروع کنیم! 🎉 شرطها: تصمیمگیری با if، elif، else 🤔 شرطها به برنامهت اجازه میدن تصمیم بگیره. برای مثال، میتونی چک کنی که کاربر چند سالشه و پیامی مناسب نشون بدی. دستور if یه شرط رو بررسی میکنه: کپیage = int(input("سنت چنده؟ ")) if age >= 18: print("تو بزرگسالی! 🚗") else: print("تو هنوز کودکی! 🎮") علاوه بر این، با elif میتونی شرطهای بیشتری چک کنی: کپیif age >= 18: print("بزرگسال") elif age >= 13: print("نوجوان") else: print("کودک") به علاوه، میتونی شرطها رو ترکیب کنی: کپیname = input("اسمت چیه؟ ") if age >= 18 and name.lower() == "علی": print("خوش اومدی، علی بزرگسال!") else: print("سلام، کاربر!") 💡 نکته: lower() حروف بزرگ رو به کوچک تبدیل میکنه تا حساسیت به حروف رو دور بزنی. بنابراین، همیشه برای ورودیهای متنی ازش استفاده کن. حلقه for: تکرار ساده و سریع 🔢 حلقه for برای تکرار تعداد مشخصی مناسبه. برای مثال، میتونی اعداد ۱ تا ۵ رو چاپ کنی: کپیfor i in range(5): # از ۰ تا ۴ print(i) به همین دلیل، range خیلی کاربردیه. چند مدل استفاده: کپیfor i in range(1, 6): # از ۱ تا ۵ print(i) کپیfor i in range(1, 11, 2): # 1, 3, 5, 7, 9 print(i) علاوه بر این، میتونی روی لیستها (درس بعدی) حلقه بزنی: کپیfruits = ["سیب", "موز", "پرتقال"] for fruit in fruits: print(fruit) 💡 نکته: range(start, stop, step) انعطاف زیادی داره. برای مثال، range(10, 0, -1) برای شمارش معکوس. حلقه while: تکرار با شرط 🌀 حلقه while تا وقتی شرط درست باشه ادامه میده. برای مثال: کپیcount = 1 while count <= 5: print(count) count += 1 به علاوه، میتونی حلقه بینهایت بسازی و با break خارج شی: کپیwhile True: answer = input("ادامه بدم؟ (b برای خروج): ") if answer == "b": break print("ادامه میدیم...") 💡 هشدار: بدون count += 1، حلقه while بینهایت میشه و برنامه هنگ میکنه! کنترل حلقهها: break، continue، pass 🛑 برای مثال، این دستورات حلقهها رو کنترل میکنن: دستور کارکرد مثال خروجی break خروج کامل از حلقه for i in range(10): if i == 5: break ۰, ۱, ۲, ۳, ۴ continue رد شدن از دور فعلی for i in range(5): if i == 2: continue; print(i) ۰, ۱, ۳, ۴ pass هیچ کاری نکن if True: pass هیچ خروجی به عنوان مثال: کپیfor i in range(1, 6): if i == 3: continue if i == 5: break print(i) # 1, 2, 4 💡 نکته: pass وقتی مفیده که هنوز نمیدونی توی بلاک چی بنویسی. مثالهای عملی: ترکیب با درس ۱ 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. BMI هوشمند: کپیweight = float(input("وزن (کیلوگرم): ")) height = float(input("قد (متر): ")) bmi = weight / (height ** 2) print(f"BMI: {bmi:.1f}") if bmi < 18.5: print("لاغر") elif bmi < 25: print("نرمال") elif bmi < 30: print("اضافه وزن") else: print("چاق") ۲. جدول ضرب: کپیn = int(input("عدد برای جدول ضرب: ")) for i in range(1, 11): print(f"{n} x {i} = {n * i}") ۳. شمارش معکوس: کپیcount = 10 while count > 0: print(count) count -= 1 print("بوم! 💥") بنابراین، این مثالها درس ۱ رو با شرطها و حلقهها ترکیب میکنن. کدها رو توی lesson2_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو حلقهها و شرطها شایعن: خطا علت راهحل Infinite loop شرط while همیشه درسته متغیر کنترلی (مثل count += 1) اضافه کن IndentationError فاصلههای نادرست ۴ فضای خالی منظم استفاده کن SyntaxError فراموشی : یا پرانتز ساختار شرط یا حلقه رو چک کن برای مثال: کپیwhile True: # حلقه بینهایت! print("اوه!") # خطا: برنامه هنگ میکنه # حل: count = 0 while count < 3: print("اوکی!") count += 1 تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: برنامهای بنویس که چک کنه عدد مثبته، منفیه یا صفر. جدول ضرب ۱ تا ۱۰ برای یه عدد. برنامه حدس عدد (عدد تصادفی ۱ تا ۱۰، کاربر حدس بزنه). مجموع اعداد ۱ تا n (ورودی کاربر). فاکتوریل یه عدد با while. اعداد زوج ۱ تا ۲۰ رو چاپ کن. الگوی ستاره چاپ کن: *****. بزرگترین عدد از ۵ ورودی. بررسی عدد اول بودن. ماشین حساب با منوی عملیات (+، -، *، /). شمارش تعداد حروف در یه رشته. برنامهای با if برای سناریو (مثل وضعیت آبوهوا). 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: ماشین حساب پیشرفته 🧮 برای مثال، ماشین حساب درس ۱ رو ارتقا میدیم تا عملیات رو کاربر انتخاب کنه و بتونه تکرار کنه: دو عدد و یه عملیات بگیر. با if عملیات رو انجام بده. با while اجازه تکرار بده. کپیwhile True: print("\n=== ماشین حساب پیشرفته ===") num1 = float(input("عدد اول: ")) num2 = float(input("عدد دوم: ")) op = input("عملیات (+, -, *, /): ") if op == "+": print(f"نتیجه: {num1 + num2}") elif op == "-": print(f"نتیجه: {num1 - num2}") elif op == "*": print(f"نتیجه: {num1 * num2}") elif op == "/": if num2 == 0: print("خطا: تقسیم بر صفر!") else: print(f"نتیجه: {num1 / num2:.2f}") else: print("عملیات نامعتبر!") again = input("دوباره؟ (y/n): ") if again.lower() != "y": break print("خداحافظ!") 💡 تست کن: با ورودیهای مختلف (مثل ۱۰، ۵، +) و گزینه تکرار اجرا کن. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: for یا while؟ for برای تعداد مشخص، while برای شرط. چطور حلقه بینهایت رو درست کنم؟ یه متغیر کنترلی یا break اضافه کن. چرا خطای فاصله میگیرم؟ ۴ فضای خالی منظم استفاده کن. چطور دیباگ کنم؟ با print مقادیر رو چک کن. جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس شرطها و حلقهها رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی قوی شدی. بنابراین، حالا میتونی برنامههای هوشمند بسازی. علاوه بر این، درس بعدی (دادهساختارها) بهت لیستها و دیکشنریها رو یاد میده. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن! 😎 ← درس قبلی: درس ۱ مقدماتی: شروع با پایتون – نوشتن اولین برنامه درس بعدی: درس ۳ مقدماتی: دادهساختارها – لیست، تاپل و دیکشنری در پایتون → برچسبها: control flow pythonpythonبرنامهنویسی مبتدیپایتونحلقه forحلقه whileشرط if ارسال نظر جدید لغو پاسخ ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.
میخوای برنامهت بتونه تصمیم بگیره یا کارها رو خودش تکرار کنه؟ 🤖 بدون شرطها و حلقهها، برنامهها مثل یه ماشین خاموشن! برای مثال، میتونی برنامهای بسازی که بگه کاربر بزرگساله یا نه، یا جدول ضرب رو خودکار چاپ کنه. تو این درس، با شرطها (if-elif-else) و حلقهها (for و while) آشنا میشی تا ماشین حساب درس قبل رو به یه ابزار هوشمند تبدیل کنی. بنابراین، اگر درس ۱ رو خوب یاد گرفتی، حالا آمادهای که برنامههات رو زنده کنی! 🚀 این درس با مثالهای واقعی، جداول مقایسه، تمرینهای متنوع و یه پروژه جذاب، تو رو برای درسهای بعدی آماده میکنه. بریم شروع کنیم! 🎉 شرطها: تصمیمگیری با if، elif، else 🤔 شرطها به برنامهت اجازه میدن تصمیم بگیره. برای مثال، میتونی چک کنی که کاربر چند سالشه و پیامی مناسب نشون بدی. دستور if یه شرط رو بررسی میکنه: کپیage = int(input("سنت چنده؟ ")) if age >= 18: print("تو بزرگسالی! 🚗") else: print("تو هنوز کودکی! 🎮") علاوه بر این، با elif میتونی شرطهای بیشتری چک کنی: کپیif age >= 18: print("بزرگسال") elif age >= 13: print("نوجوان") else: print("کودک") به علاوه، میتونی شرطها رو ترکیب کنی: کپیname = input("اسمت چیه؟ ") if age >= 18 and name.lower() == "علی": print("خوش اومدی، علی بزرگسال!") else: print("سلام، کاربر!") 💡 نکته: lower() حروف بزرگ رو به کوچک تبدیل میکنه تا حساسیت به حروف رو دور بزنی. بنابراین، همیشه برای ورودیهای متنی ازش استفاده کن. حلقه for: تکرار ساده و سریع 🔢 حلقه for برای تکرار تعداد مشخصی مناسبه. برای مثال، میتونی اعداد ۱ تا ۵ رو چاپ کنی: کپیfor i in range(5): # از ۰ تا ۴ print(i) به همین دلیل، range خیلی کاربردیه. چند مدل استفاده: کپیfor i in range(1, 6): # از ۱ تا ۵ print(i) کپیfor i in range(1, 11, 2): # 1, 3, 5, 7, 9 print(i) علاوه بر این، میتونی روی لیستها (درس بعدی) حلقه بزنی: کپیfruits = ["سیب", "موز", "پرتقال"] for fruit in fruits: print(fruit) 💡 نکته: range(start, stop, step) انعطاف زیادی داره. برای مثال، range(10, 0, -1) برای شمارش معکوس. حلقه while: تکرار با شرط 🌀 حلقه while تا وقتی شرط درست باشه ادامه میده. برای مثال: کپیcount = 1 while count <= 5: print(count) count += 1 به علاوه، میتونی حلقه بینهایت بسازی و با break خارج شی: کپیwhile True: answer = input("ادامه بدم؟ (b برای خروج): ") if answer == "b": break print("ادامه میدیم...") 💡 هشدار: بدون count += 1، حلقه while بینهایت میشه و برنامه هنگ میکنه! کنترل حلقهها: break، continue، pass 🛑 برای مثال، این دستورات حلقهها رو کنترل میکنن: دستور کارکرد مثال خروجی break خروج کامل از حلقه for i in range(10): if i == 5: break ۰, ۱, ۲, ۳, ۴ continue رد شدن از دور فعلی for i in range(5): if i == 2: continue; print(i) ۰, ۱, ۳, ۴ pass هیچ کاری نکن if True: pass هیچ خروجی به عنوان مثال: کپیfor i in range(1, 6): if i == 3: continue if i == 5: break print(i) # 1, 2, 4 💡 نکته: pass وقتی مفیده که هنوز نمیدونی توی بلاک چی بنویسی. مثالهای عملی: ترکیب با درس ۱ 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. BMI هوشمند: کپیweight = float(input("وزن (کیلوگرم): ")) height = float(input("قد (متر): ")) bmi = weight / (height ** 2) print(f"BMI: {bmi:.1f}") if bmi < 18.5: print("لاغر") elif bmi < 25: print("نرمال") elif bmi < 30: print("اضافه وزن") else: print("چاق") ۲. جدول ضرب: کپیn = int(input("عدد برای جدول ضرب: ")) for i in range(1, 11): print(f"{n} x {i} = {n * i}") ۳. شمارش معکوس: کپیcount = 10 while count > 0: print(count) count -= 1 print("بوم! 💥") بنابراین، این مثالها درس ۱ رو با شرطها و حلقهها ترکیب میکنن. کدها رو توی lesson2_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو حلقهها و شرطها شایعن: خطا علت راهحل Infinite loop شرط while همیشه درسته متغیر کنترلی (مثل count += 1) اضافه کن IndentationError فاصلههای نادرست ۴ فضای خالی منظم استفاده کن SyntaxError فراموشی : یا پرانتز ساختار شرط یا حلقه رو چک کن برای مثال: کپیwhile True: # حلقه بینهایت! print("اوه!") # خطا: برنامه هنگ میکنه # حل: count = 0 while count < 3: print("اوکی!") count += 1 تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: برنامهای بنویس که چک کنه عدد مثبته، منفیه یا صفر. جدول ضرب ۱ تا ۱۰ برای یه عدد. برنامه حدس عدد (عدد تصادفی ۱ تا ۱۰، کاربر حدس بزنه). مجموع اعداد ۱ تا n (ورودی کاربر). فاکتوریل یه عدد با while. اعداد زوج ۱ تا ۲۰ رو چاپ کن. الگوی ستاره چاپ کن: *****. بزرگترین عدد از ۵ ورودی. بررسی عدد اول بودن. ماشین حساب با منوی عملیات (+، -، *، /). شمارش تعداد حروف در یه رشته. برنامهای با if برای سناریو (مثل وضعیت آبوهوا). 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: ماشین حساب پیشرفته 🧮 برای مثال، ماشین حساب درس ۱ رو ارتقا میدیم تا عملیات رو کاربر انتخاب کنه و بتونه تکرار کنه: دو عدد و یه عملیات بگیر. با if عملیات رو انجام بده. با while اجازه تکرار بده. کپیwhile True: print("\n=== ماشین حساب پیشرفته ===") num1 = float(input("عدد اول: ")) num2 = float(input("عدد دوم: ")) op = input("عملیات (+, -, *, /): ") if op == "+": print(f"نتیجه: {num1 + num2}") elif op == "-": print(f"نتیجه: {num1 - num2}") elif op == "*": print(f"نتیجه: {num1 * num2}") elif op == "/": if num2 == 0: print("خطا: تقسیم بر صفر!") else: print(f"نتیجه: {num1 / num2:.2f}") else: print("عملیات نامعتبر!") again = input("دوباره؟ (y/n): ") if again.lower() != "y": break print("خداحافظ!") 💡 تست کن: با ورودیهای مختلف (مثل ۱۰، ۵، +) و گزینه تکرار اجرا کن. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: for یا while؟ for برای تعداد مشخص، while برای شرط. چطور حلقه بینهایت رو درست کنم؟ یه متغیر کنترلی یا break اضافه کن. چرا خطای فاصله میگیرم؟ ۴ فضای خالی منظم استفاده کن. چطور دیباگ کنم؟ با print مقادیر رو چک کن. جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس شرطها و حلقهها رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی قوی شدی. بنابراین، حالا میتونی برنامههای هوشمند بسازی. علاوه بر این، درس بعدی (دادهساختارها) بهت لیستها و دیکشنریها رو یاد میده. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن! 😎 ← درس قبلی: درس ۱ مقدماتی: شروع با پایتون – نوشتن اولین برنامه درس بعدی: درس ۳ مقدماتی: دادهساختارها – لیست، تاپل و دیکشنری در پایتون → برچسبها: control flow pythonpythonبرنامهنویسی مبتدیپایتونحلقه forحلقه whileشرط if