'rasgele' almadan programın 1 ve 1000 arasında rasgele bir sayı seçmesine izin vermenin bir yolu var mı?Rastgele int 'rasgele' aktarmadan
Yardım çok takdir edilecektir. Tamsayılar istediğinizi varsayarak
'rasgele' almadan programın 1 ve 1000 arasında rasgele bir sayı seçmesine izin vermenin bir yolu var mı?Rastgele int 'rasgele' aktarmadan
Yardım çok takdir edilecektir. Tamsayılar istediğinizi varsayarak
. random
source code dayanarak
import numpy as np
np.random.randint(1,1000)
Hey, hiçbir şeyi ithal edemediğimi söylemeyi unuttum. Bu ev ödevi için kurallardan biri. BTW, bu ödevin küçük bir parçası, sizden programın benim için yazılmasını istemiyorum gibi değil. SO lütfen bana kızma :) – user3353391
Senin öğretmenin bir aptal. Onlara öyle dediğimi söyleyebilirsin. Sırtları döndüğünde, hesap makinelerinin çoğul tuşunu süper yapıştırın. Ve "vaaz ettiğin şeyle yaşadığına inanıyorum" de. – Back2Basics
Oda çubuğuna bastığınız ve bilgisayar saatinden milisaniyeyi okuduğunuz bir rulet tekerleği tipi kurulum yapabilirsiniz. – Back2Basics
:
def randint(a, b):
"Return random integer in range [a, b], including both end points."
return a + randbelow(b - a + 1)
def randbelow(n):
"Return a random int in the range [0,n). Raises ValueError if n<=0."
if n <= 0:
raise ValueError
k = n.bit_length()
numbytes = (k + 7) // 8
while True:
r = int.from_bytes(random_bytes(numbytes), 'big')
r >>= numbytes * 8 - k
if r < n:
return r
def random_bytes(n):
"Return n random bytes"
with open('/dev/urandom', 'rb') as file:
return file.read(n)
Örnek:
print(randint(1, 1000))
Yapabilirsin de implement random_bytes()
using PRNG.
Neden sadece 'rastgele' içe aktarmıyorsunuz? Kendi rasgele sayı üretme kodunuzu yazmaya başlayabilirsiniz, ama neden yapardınız? – Marius
Elbette, sadece kendi PRNG'nizi yazın veya belki de sistemden okuyun (ör./Dev/random). –
Tabii ki: http://xkcd.com/221/ (önemsizce Python'a çevrildi). Başka bir deyişle, bununla nereye gittiğinizi anlatırsanız, yararlı cevaplar almanız daha olasıdır. – NPE