python不重復隨機數
⑴ python中,我想得到1~255隨機整數,用rand.randint(1,255),但不想讓裡面170這個數出現,怎麼寫呢
1、可以使用while函數,對隨機進行循環
(1)python不重復隨機數擴展閱讀:
除了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)) #元組
都是可行的用法。
⑵ Python 生成100個介於0~999之間的隨機數,提取序列中所有不重復元素
⑶ Python 隨機產生[0,100]以內的隨機數,找到最大值和最小值並交換位置
過程如圖所示:
獲取1~100以內的隨機數有兩種方法:
方法1:可以通過Math類中的random方法獲取隨機數,再乘以100加1,然後轉換為int類型即可。
方法2:可以通過Random類中的nextInt方法獲取隨機數。
(3)python不重復隨機數擴展閱讀
函數使用補充說明
1、random是用於生成隨機數的,可以利用它隨機生成數字或者選擇字元串。
random.random(),用於生成一個隨機浮點數:range[0.0,1.0)。
random.uniform(a,b),用於生成一個指定范圍內的隨機浮點數,a,b為上下限,只要a!=b,就會生成介於兩者之間的一個浮點數,若a=b,則生成的浮點數就是a。
random.randint(a,b),用於生成一個指定范圍內的整數,a為下限,b為上限,生成的隨機整數a<=n<=b;若a=b,則n=a;若a>b,報錯。
random.randrange([start], stop [,step]),從指定范圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為1。
random.choice(sequence),從序列中獲取一個隨機元素,參數sequence表示一個有序類型,並不是一種特定類型,泛指list,tuple,字元串等。
random.shuffle(x[,random]),用於將一個列表中的元素打亂。
random.sample(sequence,k),從指定序列中隨機獲取k個元素作為一個片段返回,sample函數不會修改原有序列。
2、Python中有join()和os.path.join()兩個函數,具體作用如下:
join():連接字元串數組。將字元串、元組、列表中的元素以指定的字元(分隔符)連接生成一個新的字元串。
os.path.join():將多個路徑組合後返回。
⑷ 怎麼用python生成隨機數
在Python中,random模塊用於生成隨機數。下面介紹下random模塊中常用的幾個函數
- 01
打開我們python的ide
- 02
在打開的shell中,首先需要導入random庫,才可以使用random中的方法,首先介紹下應用最多的函數,random.random(),可以生成一個0到1的隨機符點數
- 03
random.uniform(a,b)函數,生成指定范圍內的隨機符點數,如下圖
- 04
random.randint(a,b)函數,生成一個指定范圍內的整數,如下圖
- 05
random.choice(sqe)函數,從sqe序列中得到一個隨機元素,如下圖,序列元素可以包含很多種類,集合,列表,甚至元組都可以作為參數進行傳遞
⑸ 用python批量生成32位隨機數
import random
seed = "!@#$%^&*()_+=-"
for i in range(4):
text = ''.join(random.sample(seed, 32))
with open('test.txt', mode='a', encoding='utf-8') as f:
f.write(text)
f.write('
')
4:生成4次
32:位數
批量生成4次32位的隨機數
⑹ python生成1到100隨機數加入列表不能重復
使用Python內置的random模塊可以實現,代碼如下:
python代碼
from random import sample
#定義需要的隨機數數量
numbers = 10
result = sample(range(1,101),k=numbers)
print(result)
輸出:
[55, 56, 59, 79, 30, 94, 76, 57, 69, 81]
[Finished in 0.3s]