کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.
کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.

به دست آوردن اعداد اوّل و مرکّب با Python

سلام دوستان امروز می خواهم آموزش تشخیص اعداد مرکب و اوّل به کمک زبان پایتون 3 را برایتان بگذارم.

 

 

کد برنامه ما به شکل زیر است.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! Python3
#Mehrad Pooryoussof
#www.CodeWriter.blogsky.com
def isPrime(n):
    if n == 1:
        print("This is one. 1 is special")
        return False
    else:
        for a in range(2 , n):
            if (n % a) == 0:
                print("{} isn't prime. {} equals {} * {}".format(n,n,a,n/a))
                return False
        else:
            print("{} is a prime number.".format(n))
            return True
while 1:
    x=input("--------------------www.CodeWriter.blogsky.com\nEnter a number or 'M' character\n")
    if x == 'M' or x == 'm':
        x1 = input("Enter number1\n")
        x2 = input("Enter number2\n")
        try:
            for num in range(int(x1),int(x2)+1):
                isPrime(num)
        except:
            print("I couldn't do it.\n")
    else:
        try:
            isPrime(int(x))
        except:
            print("I couldn't do it.\n")

خط 1تا3 کامنت است. خط 4 تابع isPrime را که خط 5 تا 15 کد های آن هستند را تعریف می کند. خط 5 چک می کند که آیا متغیر n برابر یک است یا خیر و در صورت برابر بودن روی صفحه متن « This is one. 1 is special » را نمایش می دهد(خط 6)؛ و مقدار False را باز می گرداند(خط 7)؛ در غیر این صورت(خط 8) حلقه for (در خط 9) را اجرا می کند. خط 9 حلقه فری است که در هر بار اجرای آن متغیر a یکی از مقدار های (range) از 2 تا n است(خود n حساب نمی شود.). خط 10 چک می کند که آیا باقیمانده تقسیم n بر a برابر 0 است یا خیر و اگر برابر 0 بود روی صفحه می نویسد «n isn't prime. n equals a*n/a » (خط 11)؛ و مقدار False را باز می گرداند(خط 12)؛ و در صورتی که n بر هیچ یک از اعداد a بخش پذیر نبود(خط 13)، روی صفحه می نویسد «n is a prime number » (خط 14) و مقدار True را باز می گرداند(خط 15).

خط 16 حلقه while است که مقدار 1 یا True به آن داده ایم و بنا بر این تا انتهای برنامه(بسته شدن آن توسط کاربر) تکرار می شود؛ خط 17 تا 30 کد های آن هستند.

خط 17 متن درخواستی به کاربر نشان می دهد و از او یک عدد می خواهد و مقدار وارد شده توسط کاربر را در متغیر x ذخیره می کند. خط 18 چک می کند که آیا ورودی دریافت شده از کاربر(همان متغیر x) برابر با m یا M می باشد یا خیر و اگر برابر بود کد های خط 19 تا 25 را اجرا می کند و در غیر این صورت(خط 26) خط 27 تا 30 را اجرا می کند.

خط 19 از کاربر عدد اول را درخواست می کند و مقدار وارد شده را در x1 ذخیره می کند. خط 20 نیز کاری مشابه برای x2 انجام می دهد. 

خط 21 برای این است که اگر مشکلی در خط 22 و 23 به وجود آمد کد های مربوط به except (خط 24) یا کدی که در خط 25 وجود دارد اجرا شود.

خط 22 حلقه فُری است که متغیر num را از x1 تا x2 قرار می دهد و خط 23 تابع isPrime را با متغیر num اجرا می کند.

خط 25 روی صفحه می نویسد « I couldn't do it. ».

خط 27، خط 28 را که تابع isPrime را با متغیر x اجرا می کند را امتحان می کند و در صورت وجود مشکل کد مربوط به except (خط 29) که در خط 30 قرار دارد اجرا می شود. خط 30 پیام « I couldn't do it. » را نمایش می دهد.

به امید کد هایی دیگر

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد