مشخصات مقاله
تابع ()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()" برای ایجاد برنامههای بازی قرعهکشی خوششانس استفاده میشود.