2017-02-25 29 views
0

當以這種形式使用random.randint(),我不能整除的工作:整數除法與random.randint

(random.randint(-40, 215) - -40) // (215 - -40) 

這將返回0,但是這樣的事情正確返回:

random.randint(3,5) - 2 // 2 

如何正確格式化第一個等式以獲得舍入整數而不是默認爲0?

+1

您的第一個等式是正確的:它將它轉換爲[[0,1)'間隔。由於您使用整數除法,因此結果始終爲0. –

+0

我的部分愚蠢的錯誤! – WMueller

回答

1

如果正火整數,當有人運行到這一點,這裏是-40和215之間的正常化:

(random.randint(-40,215) - -40.0) * 10 // (215.0 - -40.0) * 10 

榮譽給威廉·Onsem

0

如果您想非INT答案

print (random.randint(-40, 215) +40.0)/(215+40) 

結果總是在(0,1)之間,其中步長總是0,因此它總是返回零。