Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | Github | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

4.2. 随机数

4.2.1. 随机选择列表

随机返回参数列表中任意一个元素

		
>>> print(random.choice(['China','Japan','Korea']))
Korea
>>> print(random.choice(['China','Japan','Korea']))
Japan		
		
		

随机返回参数列表中任意两个元素,参数二指定返回的数量

		
print(random.sample(['China','Japan','Korea'],2))

>>> print(random.sample(['China','Japan','Korea'],2))
['Japan', 'Korea']
		
		

4.2.2. 指定随机数范围

random.randrange ([start,] stop [,step])

		
import random
random.randrange ([start,] stop [,step])
参数
start -- 指定范围内的开始值,包含在范围内。
stop -- 指定范围内的结束值,不包含在范围内。
step -- 指定递增基数。		
		
		
		
#!/usr/bin/python3
import random

# 输出 1 <= number < 100 间的偶数
print "randrange(1, 100) : ", random.randrange(1, 100)

# 输出 100 <= number < 1000 间的偶数
print "randrange(100, 1000, 5) : ", random.randrange(100, 1000, 5)

# 输出 100 <= number < 1000 间的其他数
print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)
		
		

4.2.3. 指定随机数范围(整数)

		
>>> print(random.randint(1,5))
1
>>> print(random.randint(1,5))
3
>>> print(random.randint(1,5))
5
	
		

4.2.4. 指定随机数范围(小数)

		
>>> import random
>>> print(random.uniform(0,9)) 
7.36185883349121
>>> print(random.uniform(0.1,0.9)) 
0.3972467892993786		
		
		

保留两位小数

		
import random

randnum = random.uniform(0, 100)

print(randnum)
print(f'方法1:{randnum:.2f}')
print('方法2:{:.2f}'.format(randnum))
print('方法3:%.2f' % randnum)
print('方法4:' + str(round(randnum, 2)))		
		
		

输出结果

		
0.15161848483329354
方法1:0.15
方法2:0.15
方法3:0.15
方法4:0.15		
		
		

4.2.5. 打乱列表顺序

		
lists = list(range(10))
print(lists)
random.shuffle(lists)
print(lists)		
		
		

演示

		
>>> lists = list(range(10))
>>> print(lists)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> random.shuffle(lists)
>>> print(lists)        
[8, 1, 7, 0, 5, 3, 2, 9, 6, 4]
>>>