Python random模块
random模块用于生成随机数
random.randint(x,y)
用于生成指定范围内的整数
参数x为下限,参数y为上限,x,y均可取到
即生成的随机数n满足:x<=n<=y
random.randint(1,10) #生成一个随机数n 且1<=n<=10(每次运行时得到的n可能都不同
random.randint(10,10) #生成随机数n (每次运行时都是10)
random.choice(sequence)
用于从序列中获取一个随机元素
(参数sequence表示有序类型,如列表(list)、元组(tuple)、字符串(string))
#字符串(string)
import random
s=random.choice("不想掉头发")
print(s)
#结果随机输出“不想掉头发”中的任意一个字
#列表(list)
import random
s=random.choice(['I','am','a','good','girl'])
print(s)
#输出 I 、am 、a 、good 、girl 中的任意一个单词
#元组(tuple)
import random
s=random.choice(('tuple','list','dict'))
print(s)
#输出tuple、list、dict中的任意一个单词
random.random()
用于生成一个0~1的随机浮点数
即生成的随机数n满足:0<=n<1.0
random.uniform(x,y)
用于生成一个指定范围内的随机符点数
参数x,y一个为上限,一个为下限,取决于x,y的大小,上下限均可取到。
即:若x>y,则生成的随机数n:y<=n<=x;若x<y,则生成随机数n:x<=n<=y
import random
print(random.uniform(10,30))
print(random.uniform(30,10))
#(每次运行得到的结果可能不同)
#11.246185250426157
#15.620051277809475
random.randrange([start],stop[,step])
用于从指定范围内,按指定基数递增的集合中获取一个随机数。
如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。
random.randrange(10, 100, 2)在结果上与random.choice(range(10, 100, 2) 等效。
random.shuffle(x[, random])
用于将一个列表中的元素打乱。
import random
s=['Python','is','simple','amazing','and so on']
random.shuffle(s)
print(s)
#['simple', 'amazing', 'Python', 'is', 'and so on']
#每次运行出现的结果可能不同
random.sample(sequence,x)
用于从指定序列中随机获取指定长度的片断(不会修改原有序列)
import random
L=[1,2,3,4,5,6,7,8,9]
s=random.sample(L,5) #在列表L中随机获取5个数,返回一个列表
print(L) #L没有被修改
print(s)
#[1, 4, 9, 8, 3]
#每次运行出现的结果可能不同