یه بار برای همیشه، فرانت‌اندو اصولی یاد بگیر! یه بار برای همیشه، فرانت‌اندو اصولی یاد بگیر!
🎯 ثبت نام

تابع ()randint در پایتون

در این آموزش، ما در مورد تابع ()randint در پایتون خواهیم آموخت .تابع "()randint" یک تابع داخلی از ماژول تصادفی (random) در پایتون است. ماژول رندوم برای دسترسی به توابع مختلفی مانند تولید اعداد تصادفی با استفاده از تابع "randint()" استفاده می‌شود.

برای استفاده از تابع "()randint" در پایتون، باید ماژول تصادفی را import کنیم. این تابع اساساً برای ایجاد ساختار های شبه تصادفی (pseudo-randomness) استفاده می‌شود.

ساختار کد :
randint(start_range, end_range)  
پارامتر ها :

(start_range, end_range) هر دو پارامتر باید از نوع مقادیر صحیح (integer) باشند. این تابع عدد صحیح تصادفی را در محدوده فوق برمی‌گرداند و هر دو عدد شروع و پایان این محدوده را شامل می‌شود.

خطاها و استثناءها:

ValueError:

زمانی که کاربر عددی اعشاری را به عنوان پارامتر ورودی ارسال کند، یک خطای ValueError برمی گردد.

TypeError:

زمانی که کاربر هر چیزی به جز مقدار صحیح (integer) به عنوان پارامتر ورودی ارسال کند، یک خطای TypeError برمی‌گردد.

مثال 1

برای دریافت یک عدد تصادفی در محدوده داده شده از دو عدد مثبت، دو عدد منفی و یک عدد مثبت و یک عدد منفی می‌توان به شکل زیر عمل کرد.

import random as rnd  

random_1 = rnd.randint(55, 75)  
print ("The any random number between 55 and 75 is % s" % (random_1))  
    

random_2 = rnd.randint(-40, -20)  
print ("The any random number between -40 and -20 is % s" % (random_2))  
    

random_3 = rnd.randint(-20, 20)  
print ("The any random number between -20 and 20 is % s" % (random_3)) 

خروجی : 1 :
The any random number between 55 and 75 is 74
The any random number between -40 and -20 is -40
The any random number between -20 and 20 is -12
خروجی : 2 :
The any random number between 55 and 75 is 74
The any random number between -40 and -20 is -29
The any random number between -20 and 20 is -2
مثال 2

در این مثال، ما خواهیم دید که چگونه کاربران ممکن است در برنامه پایتون با استفاده از تابع "randint()" به مشکل ValueError برخورند.

import random as rnd  
    
random_1 = rnd.randint(2.543, 12.786)  
print (random_1) 
خروجی :
 ValueError                                Traceback (most recent call last)
 in 
      4 # If the user passes any floating point values as the parameters in the randint() function.
      5 
----> 6 random_1 = rnd.randint(2.543, 12.786)
      7 print(random_1)

c:\users\User Name\appdata\local\programs\python\python39\lib\random.py in randint(self, a, b)
    336         """
    337 
--> 338         return self.randrange(a, b+1)
    339 
    340 

c:\users\user name\appdata\local\programs\python\python39\lib\random.py in randrange(self, start, stop, step)
    300         istart = int(start)
    301         if istart != start:
--> 302             raise ValueError("non-integer arg 1 for randrange()")
    303         if stop is None:
    304             if istart > 0:

ValueError: non-integer arg 1 for randrange()

مثال 3

در این مثال، ما خواهیم دید که چگونه کاربر ممکن است در پایتون با استفاده از تابع "randint()" به مشکل TypeError برخورد کند.

import random as rnd  
       
random_2 = rnd.randint('String', 'Character')  
print (random_2)  

خروجی :
TypeError                                 Traceback (most recent call last)
 in 
      4 # If the user passes any string or character value as the parameters in the randint() function
      5 
----> 6 random_2 = rnd.randint('String', 'Character')
      7 print (random_2)

c:\users\user name\appdata\local\programs\python\python39\lib\random.py in randint(self, a, b)
    336         """
    337 
--> 338         return self.randrange(a, b+1)
    339 
    340 

TypeError: can only concatenate str (not "int") to str

کاربران می‌توانند از تابع "randint()" برای شبیه‌سازی بازی قرعه‌کشی استفاده کنند.

فرض کنید ما در یک بازی قرعه‌کشی شرکت کرده‌ایم. در این بازی، بازیکن سه فرصت دارد تا عددی بین 1 تا 36 حدس بزند. اگر موفق به حدس زدن عدد صحیح باشیم، برنده می‌شویم، در غیر این صورت بازی را از دست می‌دهیم. تابع "randint()" به عنوان یک ابزار برای تولید اعداد تصادفی در محدوده مورد استفاده قرار می‌گیرد و می‌توان از آن برای تعیین عدد تصادفی برای هر فرصت در بازی استفاده کرد. این کاربرد نشان می‌دهد که چگونه تابع "randint()" می‌تواند در شبیه‌سازی بازی‌های مختلف مورد استفاده قرار گیرد.

from random import randint as rdt  
    
def generator_1():  
    return rdt(1, 36)  
        
def random_guess():  
    
    random_number_1 = generator_1()  
        
    guess_left_1 = 3  
    
    flag_1 = 0  
    
    while guess_left_1 > 0:  
    
        guess_1 = int (input ("Please select your number to "  
                      "enter the lucky draw game \n"))  
    
        if guess_1 == random_number_1:  
    
     
            flag_1 = 1  
            break  
            
        else:  
                
            # the win-condition then it will print  
           print ("You have guessed Wrong Number!!")  
    
        guess_left_1 -= 1  
   
    if flag_1 == 1:  
        return True  
    
    else:  
        return False  

if __name__ == '__main__':  
    if random_guess() == True:  
        print ("Congratulation!! You have Won the game.")  
    else :  
        print ("Sorry, You have Lost the game!")  

خروجی : 1 :
Please select your number to enter the lucky draw game 
 3
You have guessed Wrong Number!!
Please select your number to enter the lucky draw game 
 2
You have guessed Wrong Number!!
Please select your number to enter the lucky draw game 
 34
You have guessed Wrong Number!!
Sorry, you have Lost the game!

خروجی : 2 :
Please select your number to enter the lucky draw game 
 14
You have guessed Wrong Number!!
Please select your number to enter the lucky draw game 
 12
You have guessed Wrong Number!!
Please select your number to enter the lucky draw game 
 3
Congratulation!! You have Won the game.

جمع بندی :

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

1402/07/19 2200
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...