بخشی از مقاله

چندین نمونه کد

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۲۹ شهریور ۱۴۰۴

شرح برنامه

بر اساس حدس گلدباخ، هر عدد زوج بزرگ‌تر از ۶ برابر است با مجموع دو عدد اول کوچکتر از خودش.
در این برنامه پایتونی:
- چند عدد زوج بزرگ‌تر از ۶ از کاربر دریافت می‌شود
- برای هر عدد، دو عدد اول پیدا می‌شود که مجموعشان برابر با آن عدد باشد
- برنامه تا زمانی که کاربر بخواهد ادامه می‌یابد


وظایف برنامه:

  • prim(n): تمام اعداد اول کوچکتر از n را در یک آرایه قرار می‌دهد
  • find_two_numbers(n, primes): دو عدد اول از لیست primes پیدا می‌کند که مجموعشان برابر با n باشد

کد پایتون:


def prim(n):
    primes = []
    for num in range(2, n):
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                break
        else:
            primes.append(num)
    return primes

def find_two_numbers(n, primes):
    for i in primes:
        if (n - i) in primes:
            return i, n - i
    return None, None

# اجرای برنامه
while True:
    num = int(input("عدد زوج بزرگ‌تر از ۶ را وارد کنید (برای خروج 0): "))
    if num == 0:
        print("خروج از برنامه.")
        break
    if num <= 6 or num % 2 != 0:
        print("عدد وارد شده باید زوج و بزرگ‌تر از ۶ باشد.")
        continue

    primes = prim(num)
    a, b = find_two_numbers(num, primes)
    if a and b:
        print(f"{num} = {a} + {b}")
    else:
        print("هیچ جفت عدد اولی برای این عدد پیدا نشد.")

نمونه خروجی:


عدد زوج بزرگ‌تر از ۶ را وارد کنید (برای خروج 0): 30  
30 = 7 + 23  

عدد زوج بزرگ‌تر از ۶ را وارد کنید (برای خروج 0): 42  
42 = 5 + 37  

عدد زوج بزرگ‌تر از ۶ را وارد کنید (برای خروج 0): 0  
خروج از برنامه.

توضیح مراحل:

- تابع prim(n) با بررسی تقسیم‌پذیری، تمام اعداد اول کوچکتر از n را پیدا می‌کند
- تابع find_two_numbers(n, primes) با پیمایش لیست اعداد اول، دو عددی را پیدا می‌کند که مجموعشان برابر با n باشد
- برنامه در یک حلقه اجرا می‌شود تا زمانی که کاربر عدد ۰ وارد کند


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

آشنایی کامل با دکوریتورها در پایتون – تزئین رفتار توابع با کدهای قابل‌استفاده مجدد

دکوریتورها در پایتون ابزار قدرتمندی برای تغییر یا گسترش رفتار توابع و کلاس‌ها بدون تغییر در کد اصلی آن‌ها هستند. با استفاده از دکوریتورها می‌توان منطق‌هایی مانند لاگ‌گیری، احراز هویت، کش‌کردن، یا بررسی زمان اجرا را به‌صورت تمیز و قابل‌تکرار پیاده‌سازی کرد. این مقاله به بررسی ساختار، نحوه تعریف، کاربردهای رایج و مثال‌های عملی دکوریتورها می‌پردازد.

ادامه

آشنایی کامل با کلاس‌ها در پایتون – شی‌گرایی، ساختار، وراثت و کاربردهای عملی

کلاس‌ها در پایتون یکی از پایه‌های برنامه‌نویسی شی‌گرا هستند که امکان تعریف ساختارهای داده‌ای پیچیده، رفتارهای قابل‌تخصیص و کپسوله‌سازی منطق را فراهم می‌کنند. در این مقاله، با مفاهیم پایه‌ای کلاس، سازنده‌ها، متدها، وراثت، کلاس‌های فرزند، و کاربردهای واقعی کلاس‌ها در پروژه‌های پایتونی آشنا می‌شویم.

ادامه

چندین نمونه کد

برای درک بهتر زبان پیاتون

ادامه

راهنمای جامع دریافت ورودی متنی از کاربر در پایتون

در پایتون، دریافت ورودی از کاربر یکی از ابتدایی‌ترین اما کلیدی‌ترین قابلیت‌ها برای تعامل با کاربران است. این مقاله به بررسی دقیق تابع input()، نحوه تبدیل ورودی به انواع داده‌ای، استفاده در شرط‌ها و حلقه‌ها، و نکات امنیتی و عملی درباره فیلتر کردن و اعتبارسنجی ورودی می‌پردازد. همچنین مثال‌های متنوعی برای کاربردهای واقعی ارائه می‌گردد.

ادامه

بررسی کامل تابع در پایتون: ساختار، انواع و کاربردها

comprehensive-guide-python-functiتوابع در پایتون از مهم‌ترین ابزارهای برنامه‌نویسی هستند که کد را ماژولار، قابل استفاده مجدد و خواناتر می‌سازند. این مقاله با معرفی ساختار تعریف تابع، تفاوت بین توابع Built-in و Custom، کاربرد آرگومان‌ها، مقدارهای بازگشتی، و مفاهیم پیشرفته مانند توابع بازگشتی و توابع لامبدا، درک جامعی از توانمندی‌های تابع در پایتون فراهم می‌کند.ons-structure-types-uses-fa

ادامه

حلقه‌ها، ایتریتورها و کنترل جریان تکرار در پایتون

در پایتون، حلقه‌ها ابزاری کلیدی برای انجام عملیات تکراری هستند. حلقه‌های for برای تعداد مشخص و while برای تعداد نامشخص استفاده می‌شوند. با معرفی مفهوم ایتریتور، تابع input برای دریافت داده از کاربر، و توابعی مثل enumerate, zip, next, و shuffle، این مقاله درک جامعی از نحوه مدیریت و کنترل جریان تکرار در پایتون ارائه می‌دهد.

ادامه