جزئیات گروه خصوصی

administrators

فهرست اعضا

  • RE: جستجوی اعداد اول

    سلام

    بله منتقل کردم به فروم پایتون ۳.

    در مورد کد شما هم می تونید از این روش استفاده کنید که تابع isprime از ماژول sympy رو ایمپورت کنید و بعد به این ترتیب پیش برید:

    from sympy import isprime
    n1 = int(input('number1: '))
    n2 = int(input('number2: '))
    if isprime(n1) and isprime(n2):
        print('both are prime :)')
    elif isprime(n1):
        print(f'{n1} is prime')
    elif isprime(n2):
        print(f'{n2} is prime')
    else:
        print('none of them are prime')
    

    که این تابع خودش میاد حساب می کنه که عدد اول هست یا خیر.
    تو مطلب آموزش بررسی اول بودن عدد در پایتون با تابع isprime ماژول sympy تنها در 3 خط! هم توضیحات مختصری در مورد این تابع دادم که اگر مایل بودید می تونید مطالعه کنید.

    پست شده در پرسش و پاسخ
  • RE: جستجوی اعداد اول

    با سلام

    کدی که نوشتید رو این جا لطفا ارسال کنید تا کد تون بررسی بشه.
    هم چنین کد تون در در پایتون نسخه ۲ دارید می نویسید یا نسخه ۳؟ چون در تالار پایتون نسخه ۲ نوشتید عرض کردم.

    پست شده در پرسش و پاسخ
  • RE: چطور در پایتون اینترنت کانکشنم رو کانکت و دیسکانکت کنم؟

    سلام

    بسته به این که سیستم عامل تون چه هست دستوری که در لیست قرار می گیره متفاوت هست که با توجه به اون باید اقدام کنید.
    کد به این صورت هست به صورت کلی:

    import subprocess
    result = subprocess.run(['sudo', 'systemctl', 'restart', 'network'])
    if result.returncode:
        print('Restarting Network Failed... Try again')
    else:
        print('Successful')
    
    پست شده در پرسش و پاسخ
  • RE: چطور در پایتون اینترنت کانکشنم رو کانکت و دیسکانکت کنم؟

    سلام
    کد تون رو که نوشتید رو این جا ارسال کنید و جا هایی که تلاش کردید رو هم کد رو بنویسید تا ببینیم به چه روشی پیش رفتید

    پست شده در پرسش و پاسخ
  • RE: چطور در پایتون اینترنت کانکشنم رو کانکت و دیسکانکت کنم؟

    سلام
    محض اطمینان بفرمایید که از کدوم نسخه پایتون و از چه ماژول هایی در برنامه تون استفاده می‌کنید.

    پست شده در پرسش و پاسخ
  • جمع پیوسته دو عدد در پایتون

    سلام
    در این مطلب قصد داریم تا به شما جمع پیوسته دو عدد در پایتون را آموزش دهیم که چطور از کاربر ورودی بگیریم و اعداد را پیوسته با هم جمع کنیم.
    با ما همراه باشید.

    خب، چیزی که در نهایت می‌خواهیم به آن برسیم این هست:

    از کاربر ورودی دو عدد می‌گیریم. عدد اول را با عدد دوم جمع می‌کنیم و یک عدد سومی داریم. حالا دوباره یک عدد جدید از کاربر می‌گیریم و عدد جدید را با عدد سوم که گفتیم جمع می‌بندیم و همین‌طور تا آخر ادامه دارد.

    مثلا اول کاربر عدد 1 را وارد می‌کند و بعدش 2. خب جمعش می‌شود 3. حالا عدد جدید از کاربر می‌گیریم و مثلا 3 وارد می‌کند و حاصل جدید می‌شود 6 و همین‌طور تا آخر.

    برای این کار هم می‌توانیم از تابع نویسی استفاده کنیم و یا هم تابعی برای آن ننویسیم، اما ما در این پروژه از تابع استفاده کردیم.

    خب، ابتدا یک تابع به اسم دلخواه تعریف می‌کنیم.

    def my_func():
    

    به خاطر این‌که هر تابع یک تکه کد محسوب می‌شود باید دو نقطه در انتهای خط قرار دهیم تا پایتون متوجه شود که قرار هست بلوک کد بنویسیم که اجرایش کند.

    خب، بعدش از بلوک try except استفاده می‌کنیم. این که این بلوک چیست و چه کار می‌کند را صرفا خلاصه‌وار می‌نویسم و در مطالب بعدی کامل توضیح می‌دهم:

    بلوک try except بلوکی هست که به ما اجازه می‌دهد تا یک قطعه کد را تست کنیم و اگر به خطا خورد برایش خطا تعریف می‌کنیم که در صورتی که فلان خطا دریافت شد فلان کار انجام شود.

    خب، پایین‌تر باز توضیح می‌دهم که این بلوک چیست و چرا از آن استفاده کردیم.

    سینتکسش هم به این صورت است:

    try:
        my_code
    except given_error:
        do_something
    

    حالا کد مان به این صورت می‌شود:

    def my_func():
        try:
    

    خب، تا این جا دو تا بلوک کد داریم. یکی تابع تعریف کردیم که قرار هست داخل تابع یک سری کد بنویسیم و یکی دیگر هم try استفاده کردیم که قرار هست داخل این بلوک هم یک سری کد بنویسیم.

    بعدش ما به دلخواه از تابع print() استفاده کردیم که شروع برنامه را با کلمات دلخواه نشان دهیم.

    شما اسم تابع و کلماتی که در این آموزش می‌نویسیم را می‌توانید به دلخواه تغییر دهید.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than than than numbers, it'
                  ' would break the system\n')
    

    همان‌طور که می‌بینید ما تابع پرینت را در سه خط نوشتیم، اما چرا؟ طبق PEP8 و دستورالعمل پایتون، بهتر است هر خط نهایتا ۷۹ کاراکتر را شامل شود که ما هم همین کار را کردیم و ادامه کد را در خط بعدی نوشتیم.

    و حالا نوبت به این می‌رسد که در کاربر ورودی عددی دریافت کنیم. برای این‌که مطمئن شویم عددی که کاربر وارد می‌کند حتما از نوع integer باشد و string نباشد از تابع int() هم استفاده می‌کنیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than than than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
    

    حالا بعد از این که از کاربر ورودی گرفتیم می‌رویم سراغ حلقه while که کار بعدی را شروع کنیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than than than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
            while True:
    

    اما چرا حلقه while را True قرار دادیم؟

    عبارت while True یعنی تا زمانی که این حلقه مقدارش درست باشد کار کند. به عبارت ساده‌تر، یعنی یک حلقه با تکرار همیشگی.

    حالا کد را ادامه می‌دهیم.

    حالا یک عدد دیگر از کاربر می‌گیریم و در متغیر دیگری آن را ذخیره می‌کنیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
            while True:
                input4 = input1
                input2 = int(input('Type the other number... '))
    

    اما علت این‌که چرا متغیر دیگری به نام input4 تولید کردیم و مقدارش را برابر با input1 گذاشتیم پایین‌تر توضیح می‌دهم.

    خب، تا این‌جا از کاربر دو تا عدد ورودی گرفتیم. حالا کاری که باید کنیم این است که input1 را با input2 جمع ببندیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
            while True:
                input4 = input1
                input2 = int(input('Type the other number... '))
                input1 = input2 + input1
    

    و این کار را در متغیر input1 می‌ریزیم و آپدیتش می‌کنیم.

    حالا در دو خط بعدی یک بار عدد عدد قبلی و عدد فعلی را در یک آرایه می‌ریزیم و بعد هم جمع جدید را پرینت می‌کنیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
            while True:
                input4 = input1
                input2 = int(input('Type the other number... '))
                input1 = input2 + input1
                input3 = [input4, input2]
                print(input3)
                print('The sum is {}'.format(input1))
    

    خب، تا این‌جا کار ما با ورودی گرفتن از کاربر تمام شده و بلوک try هم به پایان رسید. حالا نوبت به except می‌رسد که چطور از آن استفاده کنیم.

    متغیرهای input1 و input2 را در تابع int() قرار دادیم تا هر مقدار عددی که دریافت کرد را به صورت عدد نشان دهد و استرینگ نباشد.

    اگر استرینگ باشد و کاربر عدد 3 را وارد کند در واقع مقدار متغیر ما می‌شود ‘3’، اما حالا که از تابع int() استفاده می‌کنیم مقدار استرینگ را به عدد تبدیل می‌کند.

    اما خب اگر کاربر اشتباها یک کاراکتر غیر عددی وارد کند برنامه به خطا می‌خورد. می‌توانیم از بلوک try except استفاده نکنیم تا هر خطا را به همان شکلی که در پایتون تعریف شده به کاربر نشان دهیم، اما می‌خواهیم error handling یا مدیریت خطا انجام دهیم.

    بگذارید یک بار برنامه را بدون try بنویسیم و خروجی آن را در صورتی که کاربر کاراکتر وارد کند ببینیم:

    def my_func():
        print('This is our magical sequence of numbers. Meanwhile, you can'
              ' type any other characters rather than numbers, it'
              ' would break the system\n')
        input1 = int(input('Type a number... '))
        while True:
            input4 = input1
            input2 = int(input('Type the other number... '))
            input1 = input2 + input1
            input3 = [input4, input2]
            print(input3)
            print('The sum is {}'.format(input1))
    
    
    my_func()
    

    خروجی:

    This is our magical sequence of numbers. Meanwhile, you can type any other characters rather than numbers, it would break the system
    Type a number… 1
    Type the other number… q
    Traceback (most recent call last):
    File “numbers.py”, line 15, in <module>
    my_func()
    File “numbers.py”, line 8, in my_func
    input2 = int(input('Type the other number… '))
    ValueError: invalid literal for int() with base 10: ‘q’

    لاین آخر و ارور ValueError را مشاهده کنید. خطا می‌گوید که کاراکتری به نام q مبنای ۱۰ ندارد و بنابراین کاراکتر q قابل تبدیل شدن به عدد نیست.

    ما با بلوک except در واقع می‌خواهیم این نوع ارورها را مدیریت کنیم.

    حالا کد را با try except می‌نویسیم.

    def my_func():
        try:
            print('This is our magical sequence of numbers. Meanwhile, you can'
                  ' type any other characters rather than numbers, it'
                  ' would break the system\n')
            input1 = int(input('Type a number... '))
            while True:
                input4 = input1
                input2 = int(input('Type the other number... '))
                input1 = input2 + input1
                input3 = [input4, input2]
                print(input3)
                print('The sum is {}'.format(input1))
        except ValueError:
            print('Bye')
    
    
    my_func()
    

    در واقع در بلوک except داریم به برنامه می‌گوییم که برو این کدهای ما را try کن و اگر به ارور ValueError برخورد کردی بیا Bye را پرینت کن. در آخر هم که تابع را صدا می‌زنیم تا برنامه اجرا شود.

    This is our magical sequence of numbers. Meanwhile, you can type any other characters rather than numbers, it would break the system
    Type a number… 1
    Type the other number… q
    Bye

    حالا بیایید برنامه را با ورودی‌های صحیح تست کنیم ببینیم چه نتایجی می‌گیریم:

    This is our magical sequence of numbers. Meanwhile, you can type any other characters rather than numbers, it would break the system
    Type a number… 1
    Type the other number… 3
    [1, 3]
    The sum is 4
    Type the other number… 5
    [4, 5]
    The sum is 9
    Type the other number… 7
    [9, 7]
    The sum is 16
    Type the other number… 9
    [16, 9]
    The sum is 25
    Type the other number… bye
    Bye

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

    پست شده در آموزش
  • ایمپورت ماژول در پایتون چیست

    با سلام
    در این مطلب قصد داریم توضیح دهیم که ماژول در پایتون چیست و چطور می‌توانیم یک ماژول را به برنامه خود اضافه کنیم.
    با ما همراه باشید.

    در مطلب قبلی که قصد رفع مشکلی را داشتیم مجبور شدیم تا ماژول string را به برنامه خود اضافه کنیم تا بتوانیم از توابع و متدهای این ماژول استفاده کنیم. اما چه نیازی به ایمپورت و استفاده از دیگر ماژول‌ها داریم و چرا باید این کار را کنیم؟

    ابتدا خود ماژول و سیستم ایمپورت ماژول را توضیح می‌دهیم.

    داکیومنت پایتون البته بهتر از هر جای دیگری این سیستم را توضیح می‌دهد. لینک را می‌توانید چک کنید.

    Python code in one module gains access to the code in another module by the process of importing it

    همان‌طور که لاین اول داکیومنت پایتون هم توضیح می‌دهد، ایمپورت کردن یعنی دسترسی یافتن به ماژول دیگری.

    و string هم یک ماژول هست و یک برنامه که در آن یک سری تابع و متغیر تعریف شده که ما در مطلب قبلی این برنامه را به کد خود اضافه کردیم تا بتوانیم از آن استفاده کنیم.

    بگذارید یک مثال دیگری بزنیم. فرض کنید ما دو فایل داریم به نام‌های app1.py و app2.py.

    Python: app1.py
    var1 = ('Hello World')
    var2 = ('Hello There')
    var3 = ('Bye Then')
    

    در حالت عادی اگر app1.py را اجرا کنیم و متغیر var1 را پرینت بگیریم، مقدار Hello World به ما برمی‌گرداند. حالا می‌خواهیم app1.py را به app2.py اضافه کنیم و دیگر متغیری به نام var1 را دوباره در app2.py ننویسیم. برای این کار باید app1.py را به برنامه app2.py اضافه کنیم با import.

    کد app2.py به این صورت می‌شود:

    Python: app2.py
    import app1
    

    خب حالا تمامی کدهای app1 در app2 هم قابل استفاده هستند. برای این‌که هرکدام را اجرا کنیم و یا پرینت کنیم، به این صورت عمل می‌کنیم که ابتدا اسم ماژول را می‌نویسیم و بعد با . یا نقطه، متغیر یا شئ یا تابعی که می‌خواهیم صدا بزنیم را می‌نویسیم:

    Python: app2.py
    print (app1.var1)
    

    خروجی:

    Hello World

    یا هم مثلا:

    Python: app2.py
    print (app1.var3)
    

    خروجی:

    Bye Then

    منبع این آموزش سایت آموزش پایتون می باشد که این مطلب در مقاله ایمپورت ماژول در پایتون چیست منتشر شده و توسط انجمن پایتون فارسی بازنشر شده است.

    پست شده در آموزش
  • نحوه نوشتن نام کلاس در پایتون

    سلام
    در این مطلب قصد داریم تا نحوه پیشنهادی نوشتن نام کلاس در پایتون را به شما آموزش دهیم.

    در PEP8 پایتون پیشنهاد شده که نام اول حرف هر کلمه در کلاس در پایتون با حرف بزرگ نوشته شود و جداکننده هم نداشته باشند و کلمات را پشت سر هم بنویسید.
    مثلا:

    class ThisIsMyClass:
    

    منبع این آموزش سایت آموزش پایتون می باشد که این مطلب در مقاله نحوه نوشتن نام کلاس در پایتون منتشر شده و توسط انجمن پایتون فارسی بازنشر شده است.

    پست شده در آموزش
  • رفع مشکل حرف بزرگ بعد از آپاستروف

    با سلام
    همان طور که در مقاله ‘تغییر کاراکترها با توابع upper و lower و title و capitalize’ اشاره کردیم قرار است مشکلی که بعد از استفاده از تابع title() برای حروف بعد از آپاستروف داشتیم را در این مقاله برطرف کنیم.
    با ما همراه باشید.

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

    desc = ('hello everyone, my name is saeed and i\'m glad to meet you there. let\'s learn python together in this website. be happy :)')
    print (desc.title())
    

    خروجی:

    Hello Everyone, My Name Is Saeed And I’M Glad To Meet You There. Let’S Learn Python Together In This Website. Be Happy 🙂

    روش رفع مشکل
    برای رفع این لازم است ماژول string را به برنامه خود اضافه کنیم. ماژول‌ها را با لغت کلیدی و رزرو شده import می‌توانیم فراخوانی کنیم.
    این کد را باید به ابتدای برنامه خود اضافه کنیم.

    import string
    

    حالا ماژول string را به برنامه خود اضافه کردیم و می‌توانیم از متدها و اشیائی که در این ماژول تعریف شده استفاده کنیم.

    import string
    desc = string.capwords ('hello everyone, my name is saeed and i\'m glad to meet you there. let\'s learn python together in this website. be happy :)')
    print (desc)
    

    خروجی:

    Hello Everyone, My Name Is Saeed And I’m Glad To Meet You There. Let’s Learn Python Together In This Website. Be Happy 🙂

    جزئیات کامل در خصوص ماژول string و متدهایی که این ماژول می‌پذیرد را در داکیومنت سایت پایتون به این لینک می‌توانید مطالعه کنید.

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

    پست شده در آموزش
  • تغییر کاراکترها با توابع upper و lower و title و capitalize

    سلام
    در این مطلب قصد داریم تا شما را با توابع upper و lower و title و capitalize آشنا کنیم که چطور می‌توانند کاراکترهای پرینت شده را تغییر دهند.

    تابع upper()
    فرض کنید برنامه‌ی ما حاوی این کدهاست:

    name = input('Write Your Name Please: ')
    

    و کاربر هم مثلا اسمش را saeed وارد می‌کند. حالا می‌خواهیم تمامی این حروف را به حروف بزرگ تبدیل کنیم. برای این کار باید از تابع upper() استفاده کنیم و به این صورت می‌شود:

    print(name.upper())
    

    خروجی:

    SAEED

    تابع lower()
    حالا همان برنامه بالا را فرض کنید که از کاربر خروجی گرفتیم و این بار کاربر اسمش را SAEED وارد کرد. حالا می‌خواهیم کاراکترها را به حروف کوچک تبدیل کنیم. برای این کار باید از تابع lower() استفاده کنیم.

    print(name.lower())
    

    خروجی:

    saeed

    تابع title()
    حالا در نظر بگیرید یک متنی داریم که می‌خواهیم حروف اول هر کلمه را به حرف بزرگ تبدیل کنیم. با پایتون با یک تابع خیلی راحت می‌توان این کار را کرد. متن زیر را در نظر بگیرید:

    desc = 'hello everyone, my name is saeed and i\'m glad to meet you there. let\'s learn python together in this website. be happy :)'
    print(desc.title())
    

    دقت کنید که چون من استرینگ را بین ‘’ نوشتم، اگر وسط عبارت بخواهم از ’ دیگری استفاده کنم باید حتما قبلش کاراکتر فرار یا \ قرار دهم تا کاراکتر بعدی را به عنوان کاراکتر بشناسد و نه به عنوان دستور یا سینتکس.
    خروجی:

    Hello Everyone, My Name Is Saeed And I’M Glad To Meet You There. Let’S Learn Python Together In This Website. Be Happy 🙂

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

    تابع capitalize()
    همین عبارت بالا را در نظر بگیرید که فقط بخواهیم حرف اول کلمه اول جمله اول را به حرف بزرگ تبدیل کنیم، باز هم پایتون است که این کار را می‌کند با تابع capitalize.

    desc = 'hello everyone, my name is saeed and i\'m glad to meet you there.'
    print(desc.capitalize())
    

    خروجی:

    Hello everyone, my name is saeed and i’m glad to meet you there.

    تابع capitalize به صورت دیفالت فقط حرف اول جمله اول را به حرف بزرگ تبدیل می‌کند و اگر استرینگ شما چند جمله‌ای باشد این مشکل را خواهید داشت.

    مثال زیر را در نظر بگیرید:

    desc = 'hello, this is the first sentence. this is the second. that\'s the third. and it\'s the last one.'
    print(desc.capitalize())
    

    خروجی:

    Hello, this is the first sentence. this is the second. that’s the third. and it’s the last one.

    برای رفع این مشکل می‌توانیم از دو راه ساده و پیچیده استفاده کنیم.
    راه اول این است که چند متغیر تعریف کنیم و همه‌شان را در نهایت به هم وصل کنیم.
    راه دوم هم استفاده از تابع split() و حلقه for است.
    هر دو راه را این‌جا می‌نویسم.

    var1 = 'the first sentence. '
    var2 = 'the second one. '
    var3 = 'the last one.'
    sentence = var1.capitalize()+var2.capitalize()+var3.capitalize()
    print(sentence)
    

    این راه ساده است که متغیرها را جداگانه بنویسیم و بعد concatenateشان کنیم و در متغیر جدیدی در حافظه آن را بریزیم که اسم این متغیر جدید را sentence گذاشته‌ایم.
    یا هم به صورت منطقی‌تر به این صورت بنویسیم:

    var1 = 'the first sentence. '
    var2 = 'the second one. '
    var3 = 'the last one.'
    sentence = var1 + var2 + var3
    sentence = sentence.capitalize()
    print(sentence)
    

    خروجی:

    The first sentence. The second one. The last one.

    راه بعدی هم استفاده از تابع split() و حلقه for می‌باشد که در این‌جا فقط راهش را می‌نویسیم و بعدا جداگانه این تابع و حلقه را توضیح می‌دهم.

    string = 'the first sentence. the second one. the last one'
    sentence = string.split('.')
    for i in sentence:
      print(i.strip().capitalize()+'.',end='')
    

    خروجی:

    The first sentence. The second one. The last one.

    منبع این آموزش سایت آموزش پایتون می باشد که این مطلب در مقاله تغییر کاراکترها با توابع upper و lower و title و capitalize منتشر شده و توسط انجمن پایتون فارسی بازنشر شده است.

    پست شده در آموزش