randint()是Python3中随机模块的内置函数。随机模块提供对各种有用函数的访问,其中一个函数可以生成随机数,即randint()。句法:
randint(start, end)
参数:
(start, end): Both of them must be integer type values.
返回值:
A random integer within the given range as parameters.
错误和异常:
ValueError:Returns a ValueError when floating point values are passed as parameters. TypeError:Returns a TypeError when anything other than numeric values are passed as parameters.
代码1:
# 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))
输出:
Random number between 0 and 10 is 5 Random number between -10 and -1 is -7 Random number between -5 and 5 is 2
代码2:程序演示ValueError。
# 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)
输出:
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()
代码3:程序演示TypeError。
# imports random
import random
'''If we pass string or character literals as
parameters in the randint() function'''
r2 = random.randint('a', 'z')
print(r2)
输出:
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
应用范围:
randint()函数可用于模拟幸运抽奖情况。
假设用户参加了幸运抽奖比赛。用户有3次机会猜测1到10之间的数字。如果猜测正确,则用户获胜,否则将输掉比赛。
# 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 > 0:
# Taking a input from the user
guess = int(input("Pick your number to "
"enter the lucky draw\n"))
# checking whether user's guess
# matches the generated win-condition
if guess == random_number:
# setting flag as 1 if user guessses
# 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!")
输出:
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.
相关用法
- numpy 随机采样 randint()用法及代码示例
- Python tell()用法及代码示例
- Python cmp()用法及代码示例
- Python int()用法及代码示例
- Python now()用法及代码示例
- Python dir()用法及代码示例
- Python map()用法及代码示例
- Python id()用法及代码示例
- Python ord()用法及代码示例
- Python hex()用法及代码示例
- Python oct()用法及代码示例
- Python sum()用法及代码示例
注:本文由纯净天空筛选整理自retr0大神的英文原创作品 Python | randint() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。