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字
在乙個黑暗的角落裡,有乙個人在偷偷地哭泣,那個人就是 我。測驗成績出來了,望著試卷上一灘灘血紅的痕跡,我的心裡像是被誰重重地一擊,頓時覺得天昏地暗。老師把我叫到了辦公室。她說 這段時間你的狀況不是很好,成績一直走下坡路,你是不是有什麼心事。老師,我沒 沒有就好,成績可是你自己的,這關係著你的未來。老...
女人最想得到什麼,女人最想得到的是什麼?
女人最想從男人那裡得到什麼?不同的人有不同的回答。一般都會說,女人想得到男人的錢,男人的心,男人的財富,男人的保護,男人的專一,等等。其實這些都沒說透。女人最想從男人那裡要的,兩個字 寵愛。男人對女人有無寵愛之意,女人天生俱有觀察和體會的本領,且與時俱進。一滴水能反映太陽的光輝,這是放之四海而皆準的...