python学习记录——1.按位随机和直接取随机数的区别

python学习记录——1.按位随机和直接取随机数的区别


一、随生成8位数的方法有两种:

方法1:0~9中随机取一位数,取8次;

import random
suffix = ''	
for index in range(8):
	suffix = suffix + str(random.randint(0,9))
print(sufffix)

方法2:在8位数中随机取一位;

import random
suffix = random.randint(0,99999999)
print(suffix)

二、两种方法的异同

1.第二种方法取到非8位数前面不会补零;

import random
suffix = ''
for m in range(7100):
    i = random.randint(0,99999999)
    m =  m + 1
    suffix = i
    print(suffix)

结果:7位数前没有0
在这里插入图片描述

2.理论上两种方法对任意一种排列生成的概率是相同的;

3.两种方式生成的数据类型是不一样的;
方法一生成的数据类型是int,方法二生成的数据类型是str。

4.计算两种方法运行的时间;
time的介绍:https://finthon.com/python-time/

import random
import time 

s1 = time.time()
s1_t = ''
for m in range(1000):
	for index in range(8):
		s1_t = s1_t + str(random.randint(0,9))
	print(s1_t[-8,-1])
m = m + 1
s2 = time.time()
print(s2 - s1)

s_t = time.time()
s = ''
for m in range(1000):
	i = random.randint(0,99999999)
m = m + 1
s = i
s_e = time.time()

print(s2 - s1)
print(s_e - s_t)

结果:生成1000个数字的情况下可以看出方法2耗时更少。
结果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值