Python中的random模块

import random

#random() 方法返回随机生成的一个实数,它在[0,1)范围内
a=random.random()
print(a)

#randint 产生 1 到 100 的一个整数型随机数
b=random.randint(1,100)
print(b)

#uniform() 产生1到 9.99 之间的随机浮点数,区间可以不是整数
c=random.uniform(1,9.99)
print©

#choice() 从序列中随机选取一个元素
d=random.choice(‘ChoseOneLetterRandomly’)
print(d)

#randrange() 生成特定范围内的随机数
e0=random.randrange(11) #生成一个0到10的随机数
print(e0)
e=random.randrange(1,100,3) # 生成从1到100的间隔为3随机整数
print(e)

#shuffle(),对序列进行洗牌,改变原序列,只能对可变的列表进行shuffle改变序列,不能对不可变的元组、字符串等进行序列改变
f=[1,3,5,6,7]
random.shuffle(f)
print(f)

#split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串;通过切片,将字符串类型的值变成一个新的列表
g=‘How old are you?’
print(g.split())

#sample(population, k)不改变原序列的抽取指定数目样本,并生成新序列; 从population样本或集合中随机抽取K个不重复的元素形成新的序列。常用于不重复的随机抽样。返回的是一个新的序列,不会破坏原有序列。要从一个整数区间随机抽取一定数量的整数,请使用sample(range(10000000), k=60)类似的方法,这非常有效和节省空间。如果k大于population的长度,则弹出ValueError异常。
#因为sample不会改变原有的序列,所以原始序列可以是列表,也可以是元组;

h=(1,2,3,3,4,4)
h1=random.sample(h,k=3)
print(h1)

#choice() 从非空序列seq中随机选取一个元素。如果seq为空则弹出 IndexError异常;必须从不是空的序列中选择;随机选出的是序列中的元素,元素本身是什么类型,取出的数据就是什么类型,不会改变
I=(1,2,3,‘a’,[‘1’])
I1=random.choice(I)
print(I1,type(I1))

@@@@@@@@@@下面是random相关的一些案例@@@@@@@@

import random

#下面是生成一个包含大写字母A-Z和数字0-9的随机4位验证码的程序
checkcode = ‘’
for i in range(4):
current = random.randrange(0, 4)
if current != i:
temp = chr(random.randint(65, 90))
else:
temp = random.randint(0, 9)
checkcode += str(temp)
print(checkcode)

#random.random(): 随机从0~1之间的一个数
print(random.random())
print(random.random())
print(random.random())
print(int(random.random()100)) #打印一个2位数
help(random.random)
print("
"*80)

#random.choice()是指从指定范围内随机选取一个
print(random.choice(range(3,10))) #打印从3~9之间的一个数
print(random.choice(range(10,100))) #打印一个2位数

for i in range(3,5):
print(i)

help(random.choice)
print("*"*80)

#random.randrange(x,y,z) 随机生成一个[x,y)区间范围内步长为z的数
print(random.randrange(1,11,3))
help(random.randrange)
print("*"*80)

#random.shuffle(),给序列进行洗牌,直接对原始序列进行修改,而不能通过给改变后的序列赋值的方式来修改
a=[]
for i in range(10):
a.append(i)
print(a)
random.shuffle(a) #不能写成 b=random.shuffle(a),否则print的时候,会返回None
print(a)

help(random.shuffle)
print("*"*80)

#random.uniform(x,y), 随机生成一个[x,y)范围内的浮点数
print(random.uniform(1,10))
print(random.uniform(11,30))
help(random.uniform)
print("*"*80)

#random.randint(x,y)随机生成一个[x,y]范围内的整数, randint的参数只有2个,没有步长一说,所以不能有3个参数
print(random.randint(1,10))
print("*"*80)
help(random.randint)

#猜字游戏
sysNum=random.randint(1,100)
print(sysNum)
guessNum=int(input(“please input your guessNum:”))
if (guessNum>sysNum):
print(“Sorry, your guessNum is bigger than sysNum”)
elif (guessNum==sysNum):
print(“Good! You win!”)
else:
print(“Sorry, your guessNum is smaller than sysNum”)

你可能感兴趣的:(Python)