发布网友 发布时间:2022-04-26 04:05
共9个回答
热心网友 时间:2022-04-07 07:10
1、可以使用while函数,对随机进行循环
2、直接在随机数中去掉170这个值
扩展资料:
除了randint,random模块中比较常用的方法还有:
1、random.random()
生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。
2、random.uniform(a, b)
生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小。
random.uniform(2.2, 6)
random.uniform(6,2.2)
这两种参数都是可行的。
3、random.choice(seq)
从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。
random.choice([1, 4, 7, 2, 5, 8]) #list
random.choice('hello') #字符串
random.choice((1, 2, 3)) #元组
都是可行的用法。
热心网友 时间:2022-04-07 08:28
先随机得到1-254之间的一个数,如果这个数等于170,再次随机,这样才能保证得到的数是完全随机出来的,而不能给随机出来的数加上1。
可以是下面这样的。
import random
a=random.randint(1,254)
while(a==170):
a=random.randint(1,254)
print(a)
在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。
产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。
在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。
在真正关键性的应用中,比如在密码学中,人们一般使用真正的随机数。
C语言、C++、C#、Java、Matlab等程序语言和软件中都有对应的随机数生成函数,如rand等。
参考资料:随机数_百度百科
热心网友 时间:2022-04-07 10:03
观看了楼主采纳的这个答案觉得不妥,虽然下面的代码也可以达到随机的效果。
import random但却不是真正的随机,真正的随机应该是先随机得到1-254之间的一个数,如果这个数等于170,再次随机,这样才能保证得到的数是完全随机出来的,而不能给随机出来的数加上1。
可以是下面这样的。
import random当然上面的随机是把170这个数也算入到里面去了,那么怎么去掉170这个数,再在1-169,169-254这两组数字之间随机呢?下面有一行代码可以得到随机整数
import random楼主可以用type(x)来查看得到的数的类型,是个整数哦。
不知道是否满足楼主的需求?
追问嗯,你说的对,昨天我问好之后就自己想到了和你一摸一样一样的方法,所以没多考虑就选了一个,谢谢你啦
热心网友 时间:2022-04-07 11:54
相当于是取1~254的随机数,然后如果得到的数大于等于170的话,就往后挪1,就达到你要的随机效果了。热心网友 时间:2022-04-07 14:02
import random
热心网友 时间:2022-04-07 16:27
from random import *热心网友 时间:2022-04-07 19:08
import random看看,最后绘图,均匀分布
热心网友 时间:2022-04-07 22:06
# Python 3 版本适用此代码,这段代码的思路是先生成一个符合要求的所有数字的列表。
热心网友 时间:2022-04-08 01:21
最佳答案写的对着呢,"1~254" 没问题,因为下面用的是">=",170以上统一加1就成了171-255了,从而不存在170的概率是2倍的问题。