当前位置:首页 » 编程语言 » python生成随机ip

python生成随机ip

发布时间: 2022-06-19 13:29:07

⑴ 用python生成随机数的几种方法

1 从给定参数的正态分布中生成随机数
当考虑从正态分布中生成随机数时,应当首先知道正态分布的均值和方差(标准差),有了这些,就可以调用python中现有的模块和函数来生成随机数了。这里调用了Numpy模块中的random.normal函数,由于逻辑非参简单,所有直接贴上代码如下:
import numpy as np# 定义从正态分布中获取随机数的函数def get_normal_random_number(loc, scale): """ :param loc: 正态分布的均值 :param scale: 正态分布的标准差 :return:从正态分布中产生的随机数 """ # 正态分布中的随机数生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模块if __name__ == "__main__": # 函数调用 n = get_normal_random_number(loc=2, scale=2) # 打印结果 print(n) # 结果:3.275192443463058

2 从给定参数的均匀分布中获取随机数的函数
考虑从均匀分布中获取随机数的时候,要事先知道均匀分布的下界和上界,然后调用Numpy模块的random.uniform函数生成随机数。
import numpy as np# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 主模块if __name__ == "__main__": # 函数调用 n = get_uniform_random_number(low=2, high=4) # 打印结果 print(n) # 结果:2.4462417140153114

3 按照指定概率生成随机数
有时候我们需要按照指定的概率生成随机数,比如已知盒子中每种颜色的球的比例,猜测下一次取出的球的颜色。在这里介绍的问题和上面的例子相似,要求给定一个概率列表,从列表对应的数字列表或区间列表中生成随机数,分两部分讨论。
3.1 按照指定概率从数字列表中随机抽取数字
假设给定一个数字列表和一个与之对应的概率列表,两个列表对应位置的元素组成的元组即表示该数字在数字列表中以多大的概率出现,那么如何根据这些已知条件从数字列表中按概率抽取随机数呢?在这里我们考虑用均匀分布来模拟概率,代码如下:
import numpy as npimport random# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list): """ :param number_list:数字列表 :param pro_list:数字对应的概率列表 :return:按概率从数字列表中抽取的数字 """ # 用均匀分布中的样本值来模拟概率 x = random.uniform(0, 1) # 累积概率 cum_pro = 0.0 # 将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 返回值 return number# 主模块if __name__ == "__main__": # 数字列表 num_list = [1, 2, 3, 4, 5] # 对应的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函数调用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印结果 print(n) # 结果:1

3.2 按照指定概率从区间列表中的某个区间内生成随机数
给定一个区间列表和一个与之对应的概率列表,两个列表相应位置的元素组成的元组即表示某数字出现在某区间内的概率是多少,已知这些,我们如何生成随机数呢?这里我们通过两次使用均匀分布达到目的,代码如下:
import numpy as npimport random# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list): """ :param number_list:数字列表 :param pro_list:数字对应的概率列表 :return:按概率从数字列表中抽取的数字 """ # 用均匀分布中的样本值来模拟概率 x = random.uniform(0, 1) # 累积概率 cum_pro = 0.0 # 将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 从区间[number. number - 1]上随机抽取一个值 num = get_uniform_random_number(number, number - 1) # 返回值 return num# 主模块if __name__ == "__main__": # 数字列表 num_list = [1, 2, 3, 4, 5] # 对应的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函数调用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印结果 print(n) # 结果:3.49683787011193

⑵ python中生成真正的随机数

目前不管什么编程语言都无法生成真随机数,选择都是从无理数中按时间种子等方法取数,或者按一定的算法生成,从根本上讲都不是随机的

⑶ python里面如何生成随机数

import
random
testlist
=
[1,3,4,5]
a,b
=
1,5
random.random()
生成0至1之间的随机浮点数,结果大于等于0.0,小于1.0
random.randint(a,b)
生成1至5之间的随机整数,结果大于等于1,小于等于5,a必须小于等于b
random.choice(testlist)从testlist中随机挑选一个数,也可以是元组、字符串

⑷ python怎样生成一个随机矩阵

fromnumpyimportrandom
randArray=random.random(size=(2,4))

#输出
#array([[0.93848018,0.42005976,0.81470729,0.98797783],[0.12242703,0.42756378,0.59705163,0.36619101]])


random函数接收需要生成随机矩阵的形状的元组作为唯一参数。上面的代码将会返回一个两行四列的随机矩阵,随机数的值位于0到1之间,矩阵是numpy.array类型。除了random函数外,还有生成整数随机矩阵的函数randint。


fromnumpyimportrandom
random.randint(1,100,size=(3,3))

#输出
#array([[74,76,46],[90,16,8],[21,41,31]])

⑸ Python随机生成列表

举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数

import random iRandom = [] #定义随机数列表listRandom = list(range(1,61)) #生成整数型1-60的列表组合random.shuffle(listRandom) #打乱列表顺序iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandomprint('随机列表组合:',iRandom)

⑹ python里面如何生成随机数

import ranodm
random.random() #生成0-1之间的随机浮点数
random.randint(1,10) #生成1-10之间的整数随机数

⑺ Python 生成随机点坐标

importrandom
importnumpyasnp
List=np.array([(0,0),(1,1),(1.6,1.8),(3,3)])

d=0.5

defget_random(low,high):
return((high-low)*random.random()+low)

n=0
whilen<100000:
x=get_random(0,3)
y=get_random(0,3)
rand_tuple=np.array([x,y])
tmp_dist=np.sqrt(np.sum(np.square(List-rand_tuple),axis=1))
tmp_dist_bool=tmp_dist>=d
ifnp.sum(tmp_dist_bool)==len(List):
print(x,y)
break
n+=1
ifn==100000:
print("After",n,"tries,can'tgetarandompoint!!")

⑻ python如何生成随机数、随机字符、随机字符串

import random

import string

# 返回给定数量的随机数列表

lst = random.sample(source, n)

参数source:从source中随机选择,n为数量

下面字符串可供选择

问题简单了

【生成n个随机数】

numlst = [int(i) for i in random.sample(string.digits, n)]

numlst为随机数整形列表

【生成n个随机字符】

strlst = [i for i in random.sample(string.ascii_letters, n)]

返回一个随机字符列表strlst。

【生成随机字符串】

strlst = [i for i in random.sample(string.ascii_letters, n)]

把随机字符连接起来就可以了

print(''.join(strlst))

如果需要生成的随机字符、字符串带有符号,则使用string.printable作为参数source传递给random.sample(source, n)中即可。

望采纳!

热点内容
成绩评选算法 发布:2025-02-06 11:42:51 浏览:994
数据库测试数据 发布:2025-02-06 11:31:05 浏览:820
球头轴编程 发布:2025-02-06 11:29:36 浏览:279
为什么安卓系统不能收缩权限 发布:2025-02-06 11:27:58 浏览:730
算法4视频 发布:2025-02-06 11:19:20 浏览:933
51内置声卡需要什么主机配置 发布:2025-02-06 11:18:33 浏览:838
防针刺伤的物品配置有哪些 发布:2025-02-06 11:11:25 浏览:670
游戏数据反编译 发布:2025-02-06 11:05:30 浏览:400
逍遥安卓在哪里下载的视频 发布:2025-02-06 10:50:42 浏览:877
上编程序 发布:2025-02-06 10:49:08 浏览:796