eitaa logo
پایتون برای شما
107 دنبال‌کننده
29 عکس
0 ویدیو
25 فایل
جایی برای یادگیری پایتون 👨‍💻👩‍💻 ارتباط با مدرس: @Ali_Reza_Noorbakhsh
مشاهده در ایتا
دانلود
📢 همه‌چیز درباره حلقه‌های تکرار (for و while) + نکات حرفه‌ای 🐍 حالا قراره غوغا کنیم و حلقه‌های تکرار (Loops) در پایتون رو از صفر تا صد بررسی کنیم! 😎 حلقه‌ها قلب تپنده برنامه‌نویسی‌ان و برای تکرار کارها، پیمایش داده‌ها، و حتی حل مسائل پیچیده استفاده می‌شن. از حلقه‌های for و while گرفته تا نکات ریز تورفتگی، کنترل جریان، و ترفندهای بهینه، همه‌چیز اینجاست! 🚀 بریم شروع کنیم! 💯 @PythonForYou 🧑‍💻👩‍💻
حلقه‌های تکرار چیه؟ 🤔 حلقه‌ها بهت اجازه می‌دن یه بلوک کد رو چندبار اجرا کنی. تو پایتون دو نوع حلقه اصلی داریم: 🔹 حلقه for: برای پیمایش اشیاء قابل‌تکرار (مثل فهرست، رشته، یا range) عالیه. 🔸 حلقه while: تا وقتی یه شرط درست باشه، کد رو تکرار می‌کنه. —-—-—-—-—-—-—-—-—-—-— 1️⃣ حلقه for: پیمایش ساده و قدرتمند 💥 کاربرد: وقتی می‌دونی چندبار باید تکرار کنی یا می‌خوای روی یه مجموعه (مثل فهرست یا رشته) پیمایش کنی. 📝 سینتکس: for item in iterable: # Kode inja tekrar mishe 📌 مثال ساده: fruits = ["sib", "moz", "portoghal"] for fruit in fruits: print(f"Mive: {fruit}") # Khoroji: # Mive: sib # Mive: moz # Mive: portoghal ✨ مثال با ایندکس (استفاده از enumerate): for i, fruit in enumerate(fruits): print(f"Index {i}: {fruit}") # Khoroji: # Index 0: sib # Index 1: moz # Index 2: portoghal ✨ مثال با range: for num in range(1, 5): print(f"Adad: {num}") # Khoroji: # Adad: 1 # Adad: 2 # Adad: 3 # Adad: 4 💡 نکات ریز برای for: - از enumerate() برای دسترسی همزمان به ایندکس و مقدار استفاده کن (بهتر از range(len())). - برای فهرست‌های بزرگ، مستقیم روی فهرست پیمایش نکن، از ژنراتorها (مثل range) استفاده کن تا حافظه کمتری مصرف بشه. - مراقب تغییر فهرست تو حلقه باش (مثل حذف یا اضافه عنصر)، چون ممکنه ایندکس‌ها به‌هم بریزه: numbers = [1, 2, 3] for num in numbers: numbers.append(4) # Bad idea! Halghe bi-payan mishe 💯 @PythonForYou 🧑‍💻👩‍💻
2️⃣ حلقه while: تکرار تا وقتی شرط درسته 💥 کاربرد: وقتی نمی‌دونی چندبار باید تکرار کنی و فقط یه شرط داری. 📝 سینتکس: while condition: # Kode inja tekrar mishe ✨ مثال ساده: count = 1 while count <= 5: print(f"Shomar: {count}") count += 1 # Khoroji: # Shomar: 1 # Shomar: 2 # Shomar: 3 # Shomar: 4 # Shomar: 5 ✨ مثال با شرط پیچیده: password = "" while password != "1234": password = input("Ramz ro vared kon: ") if password == "1234": print("Khosh omadi! ✅") else: print("Ramz ghalat! 🚫") 💡 نکات ریز برای while: - همیشه یه راه خروج از حلقه بذار (مثل افزایش متغیر یا شرط break)، وگرنه حلقه بی‌پایان می‌شه: while True: # Bad idea! Halghe bi-payan print("Inja gir mikoni!") - برای جلوگیری از حلقه بی‌پایان، از یه شرط منطقی یا محدودیت (مثل حداکثر تعداد تکرار) استفاده کن: tries = 0 while tries < 3: print("Try kardan...") tries += 1 💯 @PythonForYou 🧑‍💻👩‍💻
3️⃣ کنترل جریان در حلقه‌ها 💥 برای مدیریت بهتر حلقه‌ها، از دستورات زیر استفاده کن: 🔸 break: حلقه رو کامل متوقف می‌کنه for num in range(10): if num == 5: break print(num) # Khoroji: 0, 1, 2, 3, 4 🔸 continue: تکرار فعلی رو رد می‌کنه و می‌ره به تکرار بعدی. for num in range(5): if num % 2 == 0: continue print(f"Fard: {num}") # Khoroji: Fard: 1, Fard: 3 🔸نکته else با حلقه‌ها: اگه حلقه بدون break تموم بشه، بلوک else اجرا می‌شه. numbers = [1, 3, 5] for num in numbers: if num == 2: print("Adad 2 peyda shod!") break else: print("Adad 2 nabood! 🚫") # Khoroji: Adad 2 nabood! 💡 نکته ریز: - دقت کن else تو حلقه‌ها وقتی مفیده که می‌خوای مطمئن بشی حلقه کامل اجرا شده. - از break و continue با احتیاط استفاده کن تا کد خوانا بمونه. 💯 @PythonForYou 🧑‍💻👩‍💻
4️⃣ پیشگیری از خطاهای تورفتگی 💥 تورفتگی تو پایتون حیاتیه و اشتباه توش باعث ارور یا رفتار غلط می‌شه. 🔸 تورفتگی فراموش‌شده: for num in range(3): print(num) # IndentationError - درست: for num in range(3): print(num) 🔸 تورفتگی خطوط اضافی فراموش‌شده: for num in range(3): print(num) print("Payan") # Bayad kharej az halghe bashe 🔸 تورفتگی غیرضروری: print("Salam") # IndentationError 🔸 تورفتگی غیرضروری پس از حلقه: for num in range(3): print(num) print("Ghalat!") # In to halghe-st 🔸 فراموشی دو نقطه (:): for num in range(3) # SyntaxError print(num) 💡 ترفند حرفه‌ای: - همیشه از 4 فاصله (space) به جای تب استفاده کن. - تو ویرایشگر (مثل VS Code)، تنظیم کن که تب به 4 فاصله تبدیل بشه. - از ابزارهای linting مثل flake8 برای پیدا کردن خطاهای تورفتگی استفاده کن. 💯 @PythonForYou 🧑‍💻👩‍💻
5️⃣ تکنیک‌های پیشرفته با حلقه‌ها ⭐️ 1. حلقه‌های تودرتو (Nested Loops) 💥 برای کار با داده‌های پیچیده (مثل ماتریس) از حلقه‌های تودرتو استفاده کن. - مثال: چاپ ماتریس: matrix = [[1, 2, 3], [4, 5, 6]] for row in matrix: for num in row: print(num, end=" ") print() # Line jadid # Khoroji: # 1 2 3 # 4 5 6 💡 نکته ریز: - حلقه‌های تودرتو برای داده‌های بزرگ می‌تونن کند باشن. از List Comprehension به جاش استفاده کن: flat = [num for row in matrix for num in row] print(flat) # Khoroji: [1, 2, 3, 4, 5, 6] —-—-—-—-—-—-—-—-—-—-— ⭐️ 2. استفاده از range() در حلقه‌ها 💥 استفاده از range(start, stop, step) برای ساخت دنباله‌های عددی عالیه. - مثال: for num in range(0, 10, 2): print(f"Zoj: {num}") # Khoroji: Zoj: 0, Zoj: 2, Zoj: 4, Zoj: 6, Zoj: 8 💡 نکته ریز: - برای فهرست‌های بزرگ، مستقیم از range() تو حلقه استفاده کن تا حافظه کمتری مصرف بشه: for i in range(1000000): if i == 5: break —-—-—-—-—-—-—-—-—-—-— ⭐️ 3. حلقه‌ها و List Comprehension 💥 برای کارهای ساده، List Comprehension جایگزین حلقه‌های for می‌شه. - مثال حلقه معمولی: numbers = [1, 2, 3, 4] squares = [] for num in numbers: squares.append(num**2) print(squares) # Khoroji: [1, 4, 9, 16] - با List Comprehension: squares = [num**2 for num in numbers] print(squares) # Khoroji: [1, 4, 9, 16] 💡 نکته ریز: - استفاده از List Comprehension سریع‌تر و خواناتر از حلقه معمولیه. - برای شرط‌های پیچیده هم کار می‌کنه: evens = [num for num in numbers if num % 2 == 0] print(evens) # Khoroji: [2, 4] —-—-—-—-—-—-—-—-—-—-— ⭐️ 4. حلقه‌ها و ژنراتورها 💥 برای صرفه‌جویی در حافظه، از ژنراتورها به جای فهرست استفاده کن. - مثال: for num in (x**2 for x in range(1000)): # Generator if num > 100: break print(num) 💡 نکته ریز: - ژنراتورها فقط مقادیر رو موقع نیاز تولید می‌کنن، پس برای داده‌های بزرگ عالی‌ان. 💯 @PythonForYou 🧑‍💻👩‍💻
6️⃣ مدیریت خطاها در حلقه‌ها 💥 حلقه‌ها ممکنه باعث خطاهایی مثل IndexError یا حلقه بی‌پایان بشن. ✨ مثال مدیریت خطا: fruits = ["sib", "moz"] try: for i in range(5): print(fruits[i]) except IndexError: print("Indeks na-mojood! 🚫") ✨ مثال جلوگیری از حلقه بی‌پایان: count = 0 while count < 5: print(f"Shomar: {count}") count += 1 # Faramoosh in, halghe bi-payan mishe! —-—-—-—-—-—-—-—-—-—-— 7️⃣ مثال‌های کاربردی ✨ محاسبه فاکتوریل با while: n = 5 factorial = 1 while n > 0: factorial *= n n -= 1 print(f"Factorial: {factorial}") # Khoroji: Factorial: 120 ✨ جستجوی خطی با for: numbers = [3, 7, 2, 9] target = 7 for i, num in enumerate(numbers): if num == target: print(f"Target {target} dar index {i} peyda shod!") break else: print("Target nabood! 🚫") ✨ تولید فهرست فیبوناچی: n = 6 fib = [1, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) print(fib) # Khoroji: [1, 1, 2, 3, 5, 8] ✨ چاپ الگوی ستاره با حلقه تودرتو: for i in range(5): for j in range(i + 1): print("*", end="") print() # Khoroji: # * # ** # *** # **** # ***** —-—-—-—-—-—-—-—-—-—-— 8️⃣ نکات حرفه‌ای 🔸 بهینه‌سازی حافظه: برای داده‌های بزرگ، از ژنراتورها یا ()range مستقیم استفاده کن: for i in range(1000000): if i == 5: break 🔸 خوانایی کد: - اسم‌های معنی‌دار برای متغیرها انتخاب کن (مثل fruit به جای x). - از ()enumerate به جای range(len()) استفاده کن. 🔸 جلوگیری از حلقه‌های بی‌پایان: - همیشه یه شرط خروج (مثل break یا افزایش متغیر) تو while بذار. - برای تست، یه محدودیت حداکثر تکرار اضافه کن: tries = 0 while tries < 1000: tries += 1 if some_condition: break 🔸 ترکیب با توابع داخلی: - برای جمع، از sum() به جای حلقه استفاده کن: numbers = [1, 2, 3, 4] total = sum(numbers) # Tondtar az halghe 💯 @PythonForYou 🧑‍💻👩‍💻
📢 تسلط بر تابع ()range 🐍 در ادامه قراره یه ابزار کلیدی تو پایتون به اسم ()range رو از صفر تا صد بررسی کنیم! 😎 این تابع برای ساخت دنباله‌های عددی، پیمایش تو حلقه‌ها، و حتی کارهای پیچیده‌تر عالیه. از مفاهیم پایه تا ترفندهای حرفه‌ای، همه‌چیز اینجاست! 🚀 بریم شروع کنیم! تابع ()range چیه؟ 🤔 تابع ()range یه تابع داخلی (built-in) تو پایتونه که یه دنباله عددی تولید می‌کنه. این دنباله معمولاً تو حلقه‌ها، ساخت فهرست‌ها، یا مدیریت ایندکس‌ها استفاده می‌شه. نکته مهم اینه که ()range یه شیء از نوع range می‌سازه که خیلی بهینه‌ست، چون اعداد رو به‌صورت تنبل (lazy) و فقط موقع نیاز تولید می‌کنه، نه اینکه کل فهرست رو تو حافظه نگه داره. —-—-—-—-—-—-—-—-—-—-— 📝 سینتکس: range(start, stop, step) 🔸 start: عدد شروع (اختیاری، پیش‌فرض 0). 🔸 stop: عدد پایان (اجباری، خودش شامل نمی‌شه). 🔸 step: فاصله بین اعداد (اختیاری، پیش‌فرض 1). 📌 نکته: خروجی ()range یه شیء rangeه، نه فهرست. برای تبدیل به فهرست، از ()list استفاده کن: numbers = list(range(5)) print(numbers) # Khoroji: [0, 1, 2, 3, 4] —-—-—-—-—-—-—-—-—-—-— 💠 کاربردهای اصلی ()range 1️⃣ پیمایش تو حلقه‌های for تابع ()range برای تکرار یه تعداد مشخص تو حلقه‌های for خیلی پرکاربرده. ✨ مثال ساده (از 0 تا stop-1): for num in range(5): print(f"Adad: {num}") # Khoroji: # Adad: 0 # Adad: 1 # Adad: 2 # Adad: 3 # Adad: 4 ✨ مثال با start و stop: for num in range(2, 7): print(f"Adad: {num}") # Khoroji: # Adad: 2 # Adad: 3 # Adad: 4 # Adad: 5 # Adad: 6 ✨ مثال با step: for num in range(0, 10, 2): print(f"Zoj: {num}") # Khoroji: # Zoj: 0 # Zoj: 2 # Zoj: 4 # Zoj: 6 # Zoj: 8 —-—-—-—-—-—-—-—-—-—-— 2️⃣ ساخت فهرست‌های عددی با تبدیل ()range به فهرست، می‌تونی دنباله‌های عددی بسازی. ✨ مثال: numbers = list(range(1, 6)) print(numbers) # Khoroji: [1, 2, 3, 4, 5] ✨ مثال با step منفی (معکوس): reverse_numbers = list(range(10, 0, -1)) print(reverse_numbers) # Khoroji: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] —-—-—-—-—-—-—-—-—-—-— 3️⃣ پیمایش با ایندکس تو فهرست‌ها تابع ()range با ()len برای دسترسی به ایندکس‌های فهرست استفاده می‌شه. ✨ مثال: fruits = ["sib", "moz", "portoghal"] for i in range(len(fruits)): print(f"Index {i}: {fruits[i]}") # Khoroji: # Index 0: sib # Index 1: moz # Index 2: portoghal 💡 ترفند بهتر: به جای range(len())، از ()enumerate استفاده کن که خواناتر و بهینه‌تره: for i, fruit in enumerate(fruits): print(f"Index {i}: {fruit}") 💯 @PythonForYou 🧑‍💻👩‍💻
⭐️ نکات ریز و ترفندهای حرفه‌ای 1️⃣ بهینه بودن ()range: تابع ()range یه شیء تنبل تولید می‌کنه که حافظه کمی مصرف می‌کنه، چون اعداد رو یکی‌یکی می‌سازه. import sys print(sys.getsizeof(range(1000000))) # ~48 bytes print(sys.getsizeof(list(range(1000000)))) # ~9000000 bytes 2️⃣ استفاده از step منفی برای دنباله‌های نزولی: برای ساخت دنباله معکوس، step باید منفی باشه و start از stop بزرگ‌تر: for num in range(5, 0, -1): print(num) # Khoroji: 5, 4, 3, 2, 1 3️⃣ ترکیب با List Comprehension: برای ساخت فهرست‌های پیچیده‌تر: squares = [x**2 for x in range(1, 6)] print(squares) # Khoroji: [1, 4, 9, 16, 25] 4️⃣ مدیریت خطاها: اگه step صفر باشه یا بازه نامعتبر باشه، ارور می‌گیره: try: list(range(1, 5, 0)) except ValueError: print("Step ghalat! 🚫") # Khoroji: Step ghalat! 5️⃣ استفاده تو حلقه‌های while: هرچند کمتر رایجه، ولی می‌تونی ()range رو تو while استفاده کنی: i = 0 r = range(5) while i < len(r): print(r[i]) i += 1 # Khoroji: 0, 1, 2, 3, 4 6️⃣ ترکیب با توابع داخلی: دقت کن ()range با sum، min، max و غیره برای محاسبات سریع عالیه: numbers = range(1, 6) print(sum(numbers)) # Khoroji: 15 print(max(numbers)) # Khoroji: 5 print(min(numbers)) # Khoroji: 1 7️⃣ پیمایش معکوس با ()reversed: به جای step منفی، می‌تونی از reversed(range()) استفاده کنی: for num in reversed(range(1, 6)): print(num) # Khoroji: 5, 4, 3, 2, 1 8️⃣ دسترسی به ایندکس‌ها: تابع ()range می‌تونه برای دسترسی به ایندکس‌های خاص تو فهرست‌ها استفاده بشه: numbers = ["a", "b", "c", "d"] for i in range(1, len(numbers), 2): print(numbers[i]) # Khoroji: b, d 💯 @PythonForYou 🧑‍💻👩‍💻
🟢 مثال‌های کاربردی 1️⃣ چاپ اعداد فرد: for num in range(1, 10, 2): print(f"Fard: {num}") # Khoroji: Fard: 1, Fard: 3, Fard: 5, Fard: 7, Fard: 9 2️⃣ ساخت جدول ضرب: for i in range(1, 6): for j in range(1, 6): print(f"{i} * {j} = {i * j}", end="\t") print() # Khoroji: # 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 # 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 # ... 3️⃣ محاسبه مجموع اعداد: total = sum(range(1, 101)) print(f"Jame 1 ta 100: {total}") # Khoroji: Jame 1 ta 100: 5050 4️⃣ چرخش ایندکس‌ها در فهرست: numbers = ["a", "b", "c", "d"] k = 2 rotated = [numbers[i % len(numbers)] for i in range(k, k + len(numbers))] print(rotated) # Khoroji: ["c", "d", "a", "b"] 5️⃣ الگوی ستاره با ()range: for i in range(5): print("*" * (i + 1)) # Khoroji: # * # ** # *** # **** # ***** 🔴 نکات حرفه‌ای 🔸 صرفه‌جویی در حافظه: برای داده‌های بزرگ، مستقیم از ()range تو حلقه استفاده کن، نه list(range()): for i in range(1000000): if i == 5: break print(i) 🔸 خوانایی کد: از step واضح استفاده کن (مثل range(0, 10, 2) برای اعداد زوج). 🔸 به جای (()range(len، ترجیحاً از ()enumerate استفاده کن. 🔸 ترکیب با ژنراتورها: برای بهینه‌تر شدن، range() رو با ژنراتورها ترکیب کن: evens_gen = (x for x in range(0, 10, 2)) print(list(evens_gen)) # Khoroji: [0, 2, 4, 6, 8] 🔸 مدیریت بازه‌های بزرگ برای بازه‌های خیلی بزرگ، از step بزرگ‌تر استفاده کن تا سرعت بیشتر بشه: for i in range(0, 1000000, 1000): print(i) 🔸 استفاده با itertools: برای کارهای پیچیده‌تر، از ماژول itertools استفاده کن: from itertools import islice numbers = range(100) print(list(islice(numbers, 5))) # Khoroji: [0, 1, 2, 3, 4] 💯 @PythonForYou 🧑‍💻👩‍💻
✅ 1️⃣ شمارش تعداد اعداد مثبت و منفی سؤال: الگوریتمی بنویسید که ابتدا عدد n را از ورودی دریافت کند. سپس n عدد دیگر را نیز از ورودی خوانده، تعداد اعداد مثبت و تعداد اعداد منفی را در بین آن‌ها مشخص کرده و در خروجی نمایش دهد. # دریافت تعداد اعدادی که کاربر وارد می‌کند n = int(input("تعداد اعداد را وارد کن: ")) # تعریف شمارنده برای اعداد مثبت positive_count = 0 # تعریف شمارنده برای اعداد منفی negative_count = 0 # حلقه برای گرفتن n عدد و بررسی مثبت یا منفی بودن آن‌ها for i in range(n): # دریافت عدد از کاربر num = int(input("عدد را وارد کن: ")) # اگر عدد مثبت بود، شمارنده مثبت‌ها افزایش یابد if num > 0: positive_count += 1 # اگر عدد منفی بود، شمارنده منفی‌ها افزایش یابد elif num < 0: negative_count += 1 # نمایش تعداد اعداد مثبت print("تعداد اعداد مثبت:", positive_count) # نمایش تعداد اعداد منفی print("تعداد اعداد منفی:", negative_count) ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ✅ 2️⃣ بیشترین و کمترین نمره سؤال: الگوریتمی بنویسید که ابتدا تعداد دانشجویان را از ورودی دریافت کند. سپس نمرات آن‌ها را گرفته، بیشترین و کمترین نمره را پیدا کرده و در خروجی نمایش دهد. # دریافت تعداد دانشجویان n = int(input("تعداد دانشجویان: ")) # دریافت اولین نمره first_score = int(input("نمره 1 را وارد کن: ")) # فرض می‌کنیم اولین نمره، بیشترین و کمترین نمره است max_score = first_score min_score = first_score # شروع حلقه برای دریافت نمرات باقی‌مانده for i in range(n - 1): # دریافت نمره جدید score = int(input("نمره بعدی را وارد کن: ")) # اگر نمره جدید بیشتر بود، به‌روزرسانی max if score > max_score: max_score = score # اگر نمره جدید کمتر بود، به‌روزرسانی min if score < min_score: min_score = score # نمایش بیشترین نمره print("بیشترین نمره:", max_score) # نمایش کمترین نمره print("کمترین نمره:", min_score) ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ✅ 3️⃣ شمارش تکرار یک عدد خاص سؤال: الگوریتمی بنویسید که ابتدا دو عدد x و n را دریافت کند. سپس n عدد دیگر را نیز گرفته، تعداد دفعات تکرار عدد x در بین آن‌ها را در خروجی نمایش دهد. # دریافت عدد خاص x x = int(input("عدد موردنظر x را وارد کن: ")) # دریافت تعداد اعدادی که وارد می‌شوند n = int(input("تعداد اعداد را وارد کن: ")) # شمارنده برای تعداد تکرار x count = 0 # حلقه برای دریافت و بررسی اعداد for i in range(n): # دریافت عدد num = int(input("عدد را وارد کن: ")) # اگر برابر x بود، شمارنده را زیاد کن if num == x: count += 1 # نمایش تعداد تکرار x print("تعداد تکرار عدد", x, "برابر است با:", count) ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ✅ 4️⃣ نمایش مقسوم‌علیه‌های یک عدد سؤال: الگوریتمی بنویسید که عددی صحیح و مثبت را از ورودی گرفته، سپس تمام مقسوم‌علیه‌های آن عدد را نمایش دهد. # دریافت عدد مثبت از کاربر n = int(input("عدد مثبت را وارد کن: ")) # بررسی همه عددها از 1 تا n for i in range(1, n + 1): # اگر n بر i بخش‌پذیر بود، یعنی i مقسوم‌علیه n است if n % i == 0: # نمایش مقسوم‌علیه print(i) 💯 @PythonForYou 🧑‍💻👩‍💻
✅ 5️⃣ نمایش الگوی عددی سؤال: الگوریتمی بنویسید که خروجی زیر را نمایش دهد: 1 22 333 4444 55555 # حلقه برای عددهای 1 تا 5 for i in range(1, 6): # تعریف رشته خالی برای ساخت خط مورد نظر line = "" # تکرار عدد i به تعداد i بار for j in range(i): line += str(i) # نمایش خط ساخته‌شده print(line) ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ✅ 6️⃣ تشخیص اول بودن عدد سؤال: الگوریتمی بنویسید که یک عدد صحیح و مثبت را از ورودی گرفته، سپس بررسی کند آیا آن عدد اول است یا خیر. (✅ عددی اول است که فقط دو مقسوم‌علیه داشته باشد: ۱ و خودش.) # دریافت عدد مثبت n = int(input("عدد مثبت را وارد کن: ")) # شمارنده مقسوم‌علیه‌ها divisor_count = 0 # بررسی تمام عددها از 1 تا n for i in range(1, n + 1): # اگر n بر i بخش‌پذیر بود، شمارنده را زیاد کن if n % i == 0: divisor_count += 1 # اگر دقیقاً دو مقسوم‌علیه داشت (1 و خودش)، عدد اول است if divisor_count == 2: print("عدد اول است") # در غیر این صورت عدد اول نیست else: print("عدد اول نیست") ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ✅ 7️⃣ نمایش تمام اعداد اول کوچکتر از n سؤال: الگوریتمی بنویسید که یک عدد صحیح و مثبت n را گرفته، سپس تمام اعداد اول کوچکتر از آن را در خروجی چاپ کند. # دریافت عدد مثبت n n = int(input("عدد مثبت را وارد کن: ")) # بررسی عددهای 2 تا n-1 for num in range(2, n): # شمارنده مقسوم‌علیه‌های عدد جاری count = 0 # بررسی مقسوم‌علیه‌های عدد جاری for i in range(1, num + 1): if num % i == 0: count += 1 # اگر فقط 2 مقسوم‌علیه داشت، عدد اول است if count == 2: print(num) 💯 @PythonForYou 🧑‍💻👩‍💻