Pythonda basit bir şekilde herhangi bir kütüphane gerektirmeyen sadece rastgele sayı seçen random fonksiyonu yazabilir miyiz?
Sadece Python değilde genel olarak nasıl random sayıların elde edildiğinden bahsedeyim biraz. Random fonksiyon oluşturmak için öncelikle unique (eşi benzeri olmayan) bir değere ihtiyacın var. Bunu genellikle clock saatinden elde ediyorlar. Bu değer fonksiyonu oluştururken senin 'seed' değerin oluyor. Bu değeri bir fonksiyona sokarak istediğin şekilde bir değer elde edebilirsin. Kısaltmak için modüler aritmetik kullanabilirsin.
patatessiz patso
kullanıcısına yanıt
fazla anlamadım ama olsun :D o clock'a nasıl erişiyorlar ki, baya dipte olsa gerek
Fırat Özgül'ün kitabında* import random gerekiyor diyor. Kitapta yazan şeyi forumda sormak gereksiz.
*ınternetten indirilebilen ücretsiz ebook.
quote:
Orijinalden alıntı: skosebas
fazla anlamadım ama olsun :D o clock'a nasıl erişiyorlar ki, baya dipte olsa gerek
Eger sana secure random gerekmiyorsa direk time kütüphanesindeki time.time() fonksiyonuyla o seedi elde edebilirsin. Seedi elde ettikten sonra kullanacagin algoritma sana kalmis.
quote:
Orijinalden alıntı: Tuğkan-0153
Fırat Özgül'ün kitabında* import random gerekiyor diyor. Kitapta yazan şeyi forumda sormak gereksiz.
*ınternetten indirilebilen ücretsiz ebook.
Import random gerekiyor demek sacma. O zaman derler ki o random kutuphanesini nasil yazdilar.
quote:
Orijinalden alıntı: STR Priest
Import random gerekiyor demek sacma. O zaman derler ki o random kutuphanesini nasil yazdilar.
Alıntıları Göster
Onu ben değil, çeviri olmayan ve ücretsiz tek Python kitabının yazarı diyor. random modülünü de örneğin şunun gibi yazdılar:
Stack Overflow
Python Random Function without using random module
Internette ingilizce yaniti olan seyleri burada kimse sormasa konu acilmaz bu subforumda. Sence anlamsiz olmasi anlamsiz olduguna gelmiyor
random modülü standart kütüphanenin içinde geliyor, yani pip ile ekstradan bir şey yüklemeye gerek yok o modülü kullanmak için.
yok baştan kendiniz yapmak istiyorsanız pseudo-random number generators diye aratıp ilgili metotlara ulaşabilirsiniz. çokça yöntemi var rastgelemsi sayılar üretmek için. zamanının popüler konularındanmış bu rastgele sayı üretimi olayı. hiçbiri rastgele değil tabii ki ama öyle gibi görünüyorlar. kabaca 4-5 ilkesi var:
1. entropisi yüksek olacak: seed olarak 1 yerine 2 bile versek (aradaki fark az) çok farklı çıktılar üretiyor olmalı 2. uniform dağılım göstermeli: farklı ****le 100 milyon defa çalıştırıldığında her sonucu eşit sayıda üretmeli 3. tahmin edilebilirliği az olmalı 4. geri dönüşüm işlemi zor olmalı: elde hangi algoritma ile üretildiği belli rastgele sayılar varsa bile bunları kullanarak seed'i geri elde edememeniz lazım. onu da çok büyük sayıları çarpıp bölüp mod alarak yapabiliyorlar mesela.
gibi gibi. yazılımdan çok matematik problemidir bu olay.
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme