randint() funkcija Python

datums() ir iebūvēta funkcija izlases modulis programmā Python3. Nejaušais modulis nodrošina piekļuvi dažādām noderīgām funkcijām, viena no tām spēj ģenerēt nejaušus skaitļus, kas ir datums() . Šajā rakstā mēs uzzināsim par randint in Python .

Python randint() metodes sintakse

Sintakse : randint (sākums, beigas)

Parametri:

(sākums, beigas): Abām tām ir jābūt vesela skaitļa tipa vērtībām.

Atgriešanās:

Nejaušs vesels skaitlis diapazonā [sākums, beigas], ieskaitot beigu punktus.

Kļūdas un izņēmumi:

Vērtības kļūda: Atgriež ValueError, kad peldošā komata vērtības tiek nodotas kā parametri.

Tipa kļūda: Atgriež TypeError, ja kā parametri tiek nodotas jebkas, kas nav skaitliskās vērtības.

Kā randint() darbojas Python?

Šajā piemērā mēs izmantojam Python metodi randint(), lai atrastu nejaušu skaitli noteiktā diapazonā.

Python3




# Python3 program explaining work> # of randint() function> # imports random module> import> random> # Generates a random number between> # a given positive range> r1> => random.randint(> 0> ,> 10> )> print> (> 'Random number between 0 and 10 is % s'> %> (r1))> # Generates a random number between> # two given negative range> r2> => random.randint(> -> 10> ,> -> 1> )> print> (> 'Random number between -10 and -1 is % d'> %> (r2))> # Generates a random number between> # a positive and a negative range> r3> => random.randint(> -> 5> ,> 5> )> print> (> 'Random number between -5 and 5 is % d'> %> (r3))>

Izvade

Random number between 0 and 10 is 2 Random number between -10 and -1 is -7 Random number between -5 and 5 is -3 

randint() metodes piemērs

Vairāki Randint Python metodes izsaukumi

Šajā piemērā Python mēs veicam vairākus random.randint() metodes izsaukumus.

Python3




import> random> beg,end> => 1> ,> 1000> for> i> in> range> (> 5> ):> > print> (random.randint(beg, end))>

Izvade

94 550 236 145 747 

Programma ValueError demonstrēšanai

Šajā piemērā mēs redzam, ka, ja peldošā komata vērtības nododam kā parametrus funkcijā randint (), rodas ValueError.

Python3




# imports random module> import> random> '''If we pass floating point values as> parameters in the randint() function'''> r1> => random.randint(> 1.23> ,> 9.34> )> print> (r1)>

Izvade:

Traceback (most recent call last): File '/home/f813370b9ea61dd5d55d7dadc8ed5171.py', line 6, in r1=random.randint(1.23, 9.34) File '/usr/lib/python3.5/random.py', line 218, in randint return self.randrange(a, b+1) File '/usr/lib/python3.5/random.py', line 182, in randrange raise ValueError('non-integer arg 1 for randrange()') ValueError: non-integer arg 1 for randrange() 

Programma tipa kļūdas demonstrēšanai

Šajā piemērā mēs redzam, ka, ja funkcijā randint() kā parametrus nododam virknes vai rakstzīmju literāļus, rodas TypeError.

Python3




# imports random> import> random> '''If we pass string or character literals as> parameters in the randint() function'''> r2> => random.randint(> 'a'> ,> 'z'> )> print> (r2)>

Izvade:

Traceback (most recent call last): File '/home/fb805b21fea0e29c6a65f62b99998953.py', line 5, in r2=random.randint('a', 'z') File '/usr/lib/python3.5/random.py', line 218, in randint return self.randrange(a, b+1) TypeError: Can't convert 'int' object to str implicitly 

Lietojumprogrammas: Funkciju randint() var izmantot, lai simulētu laimīgās izlozes situāciju. Pieņemsim, ka lietotājs ir piedalījies laimīgās izlozes konkursā. Lietotājam ir trīs iespējas uzminēt skaitli no 1 līdz 10. Ja minējums ir pareizs, lietotājs uzvar, pretējā gadījumā viņš zaudē konkurenci.

Python3




# importing randint function> # from random module> from> random> import> randint> # Function which generates a new> # random number everytime it executes> def> generator():> > return> randint(> 1> ,> 10> )> > # Function takes user input and returns> # true or false depending whether the> # user wins the lucky draw!> def> rand_guess():> > # calls generator() which returns a> > # random integer between 1 and 10> > random_number> => generator()> > > # defining the number of> > # guesses the user gets> > guess_left> => 3> > # Setting a flag variable to check> > # the win-condition for user> > flag> => 0> > # looping the number of times> > # the user gets chances> > while> guess_left>>> > 'enter the lucky draw '> ))> > # checking whether user's guess> > # matches the generated win-condition> > if> guess> => => random_number:> > # setting flag as 1 if user guesses> > # correctly and then loop is broken> > flag> => 1> > break> > > else> :> > > # If user's choice doesn't match> > # win-condition then it is printed> > print> (> 'Wrong Guess!!'> )> > # Decrementing number of> > # guesses left by 1> > guess_left> -> => 1> > # If win-condition is satisfied then,> > # the function rand_guess returns True> > if> flag> is> 1> :> > return> True> > # Else the function returns False> > else> :> > return> False> # Driver code> if> __name__> => => '__main__'> :> > if> rand_guess()> is> True> :> > print> (> 'Congrats!! You Win.'> )> > else> :> > print> (> 'Sorry, You Lost!'> )>

Izvade

Pick your number to enter the lucky draw 8 Wrong Guess!! Pick your number to enter the lucky draw 9 Wrong Guess!! Pick your number to enter the lucky draw 0 Congrats!! You Win.