python中我想得到1255隨機整數用

2021-03-05 09:22:06 字數 5512 閱讀 3449

1樓:萬千少女的夢想

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)) #元組

都是可行的用法。

2樓:jr幻影

先隨機得到1-254之間的乙個數,如果這個數等於170,再次隨機,這樣才能保證得到的數是完全隨機出來的,而不能給隨機出來的數加上1。

可以是下面這樣的。

import random

a=random.randint(1,254)while(a==170):

a=random.randint(1,254)print(a)

3樓:天涯刀客仗劍

**了樓主採納的這個答案覺得不妥,雖然下面的**也可以達到隨機的效果。

import random

a = random.randint(1, 254)if a >= 170:

a += 1

但卻不是真正的隨機,真正的隨機應該是先隨機得到1-254之間的乙個數,如果這個數等於170,再次隨機,這樣才能保證得到的數是完全隨機出來的,而不能給隨機出來的數加上1。

可以是下面這樣的。

import random

a=random.randint(1,254)while(a==170):

a=random.randint(1,254)print(a)

當然上面的隨機是把170這個數也算入到裡面去了,那麼怎麼去掉170這個數,再在1-169,169-254這兩組數字之間隨機呢?下面有一行**可以得到隨機整數

import random

random.choice([x for x in range(1,254) if x!=170 ])樓主可以用type(x)來檢視得到的數的型別,是個整數哦。

不知道是否滿足樓主的需求?

4樓:匿名使用者

相當於是取1~254的隨機數,然後如果得到的數大於等於170的話,就往後挪1,就達到你要的隨機效果了。

a = random.randint(1, 254)if a >= 170:

a += 1

5樓:

import random

def numgen(start, ended, times=100, exceptset=set()):

while times:

x = random.randint(start, ended)if x in exceptset:

continue

yield x

times -= 1

for n in numgen(1, 255, 10, set([170,]):

print n

6樓:匿名使用者

from random import *

a = range(1,256)

a.remove(170)

print sample(a, 1)[0]

7樓:自我西郊

看看,最後繪圖,均勻分布

8樓:o奔跑的駿馬

#  python 3 版本適用此**,這段**的思路是先生成乙個符合要求的所有數字的列表。

#  然後從這個列表裡除去不需要的170這個數字,再用隨機函式在這個不包含170的數字集合中

#  隨機出乙個數字。

import random                 # 匯入random這個庫

a=list(range(1,256))          # 生成包含1到255這些數字的列表,注意range的引數是包頭不包尾。

a.remove(170)                 # 從列表中去除170這個數字

print(random.sample(a,1)[0])  # 列印這個數字,sample方法兩個引數的意義是(列表,取幾個值)

9樓:覃代暉

最佳答案寫的對著呢,"1~254" 沒問題,因為下面用的是">=",170以上統一加1就成了171-255了,從而不存在170的概率是2倍的問題。

這是思路1,

思路2,隨機1~254,出現170時,用255取代。

思路3,隨機1~255,出現170時迴圈再執行一遍。

python中random.randint(1,100)隨機數中包不包括1和100

10樓:達納特斯空氣

在python中的random.randint(a,b)用於生成乙個指定範圍內的整數。其中引數a是下限,引數b是上限,生成的隨機數n: a <= n <= b。

print random.randint(12, 20)  #生成的隨機數n: 12 <= n <= 20

print random.randint(20, 20)  #結果永遠是20

#print random.randint(20, 10)  #該語句是錯誤的。下限必須小於上限

所以說,random.randint(1,100)隨機數中使包括1和100的。

其實通過檢視該函式的python原始碼也能了解到具體的取值範圍:

def randint(self, a, b):

"""return random integer in range [a, b], including both end points.

"""return self.randrange(a, b+1)

在原始碼中,其實randint最終呼叫的是randrange函式,randrange函式在隨機是不包括上限數的。

11樓:宜都書童

random.randint(1,100)隨機數中是包括1和100的。

python中對random.randint() 的原始碼解釋如下def randint(self, a, b):"return random integer in range [a, b], including both end points.

"翻譯過來就是返回值是在 [a, b] 區間的隨機數(integer型別),其中包括 a和 b。

12樓:匿名使用者

包括1和100

random.randint() 函式的原始碼def randint(self, a, b):

"""return random integer in range [a, b], including both end points.

"""return self.randrange(a, b+1)return random integer in range [a, b], including both end points.

13樓:匿名使用者

random.randint(1,100)隨機數中使包括1和100

在python中的random.randint(a,b)用於生成乙個指定範圍內的整數。其中引數a是下限,引數b是

上限,生成的隨機數n: a <= n <= b

例如:

1)print random.randint(12, 20)  #生成的隨機數n: 12 <= n <= 20

2)print random.randint(20, 20)  #結果永遠是20

3)print random.randint(20, 10)  #該語句是錯誤的。因為下限必須小於上限

return self.randrange(a, b+1)在原始碼中,其實randint最終呼叫的是randrange函式,randrange函式在隨機是不包括上限數的。

14樓:匿名使用者

可以看一下 random.randint() 的原始碼

def randint(self, a, b):

"""return random integer in range [a, b], including both end points.

"""return self.randrange(a, b+1)return random integer in range [a, b], including both end points.

返回在 [a, b] 區間的隨機數,包括 a, b

使用random中的randint函式隨機生成乙個1~100之間的預設整數,讓使用者鍵盤輸入所猜的數,如果大於預設的數,螢幕顯示「太大了,請重新輸入」如果小於預設的數,螢幕顯示「太小了,請重新輸入」如此迴圈,直到猜中,顯示「恭喜你,猜中了!共猜了n次」n為使用者猜測次數。

import randomdef guess_number():

true_num = random.randint(1, 100)

user_num = int(input("請輸入乙個整數:"))

count = 1

while true_num != user_num:        if true_num > user_num:

           print("太小了,請重新輸入!")        elif true_num < user_num:            print("太大了,請重新輸入!

")count += 1

user_num = int(input("請輸入乙個整數:"))    print("恭喜您,您猜對了!您一共猜了%d次" % count)

guess_number()

15樓:sky夜月之靈

看前面沒怎麼答全,總結一下:

random模組,random.randint()是前閉

後閉;即: random.randint(1,100)包含兩端。

而對numpy模組,np.random.randint()是前閉後開;即:

np.random.randint(1,100)只含1不含100(np類源於numpy即:

from numpy import np)

我想得到力量

黑客必須掌握程式設計 建議先學習vb,vb很簡單先學會vb然後在去學c 等等的高階程式語言 不學程式設計是不可能成黑客的 qq多少?我可以幫你 一名黑客至少掌握8種以上的程式語言 這是一名黑客自己說的 其實一兩種必須很精通 要成為黑客只要有恆心其實不難的 我建議你先學c 然後學c 掌握資料結構 多了...

《我真想得到理解》作文,《我真想得到理解》作文 600字

在乙個黑暗的角落裡,有乙個人在偷偷地哭泣,那個人就是 我。測驗成績出來了,望著試卷上一灘灘血紅的痕跡,我的心裡像是被誰重重地一擊,頓時覺得天昏地暗。老師把我叫到了辦公室。她說 這段時間你的狀況不是很好,成績一直走下坡路,你是不是有什麼心事。老師,我沒 沒有就好,成績可是你自己的,這關係著你的未來。老...

女人最想得到什麼,女人最想得到的是什麼?

女人最想從男人那裡得到什麼?不同的人有不同的回答。一般都會說,女人想得到男人的錢,男人的心,男人的財富,男人的保護,男人的專一,等等。其實這些都沒說透。女人最想從男人那裡要的,兩個字 寵愛。男人對女人有無寵愛之意,女人天生俱有觀察和體會的本領,且與時俱進。一滴水能反映太陽的光輝,這是放之四海而皆準的...