Diyelim bir oyun oynuyoruz ve adı söylenen kişi ebe olacak.
Her yeni oyunda rastgele bir ebe seçilmesi gerekiyor.
Python random modülü bunu bizim için yapabilir :)
Yani bir programın bizim için her defasında rastgele bir seçim yapıp getirmesini sağlayabiliriz.
Öncelikle şunu belirtmek lazım; konu derya deniz ve hepsini ezbelermek, okumak, aklında tutmak falan ne mümkün ne de gerekli.
Önemli olan tek şey böyle bir şeyin varlığını bilmek ve nasıl kullanılabileceği konusunda bir miktar bilgi sahibi olmak.
askpython.com sayfası önemli miktarda yardım sağlıyor.
Örneğin https://www.askpython.com/?s=random+module sayfasına gittiğimizde random modülü ile ilgili sayfalarca yazıya ulaşabiliyoruz.
Bunların içinde benim ilk ilgimi çeken ve daha sonra da 100 Days of Code dersimin çalışmasında kullandığım aşağıdaki yazılar oldu:
Python random Module – Generate Random Numbers/Sequences (Python rastgele Modülü - Rastgele Sayılar / Sıralar Oluşturun)
Generate random integers using Python randint() (Python randint () kullanarak rastgele tamsayılar oluşturun)
How to Generate Random Strings in Python (Python'da Rastgele Stringler Nasıl Oluşturulur)
Random nedir?
Random bir python modülü. Peki modül ne? Modül kodun farklı bölümlere ayrılması ve farklı fonksiyonlar için kullanılması denilebilir.
Mesela nasılki araba üretilirken tek kişi arabanın tamamını üretmiyor, bir birim kaportasını bir birim motorunu yapıyor, modüller de bu işi görüyor.
Random modülü sayesinde aslında bu modülün yerine getirdiği aşırı karmaşık matematiksel işlemlere hiç girmeden direkt olarak modülü kodun içerisine import ederek amacımıza ulaşabiliyoruz.
Random modülü nasıl kullanılıyor?
Yukarıda çeşitli başlıklar ve linkler vererek açıklamaya çalıştığım gibi random modülü kullanıcının amacına uygun çok farklı şekillerde kullanılabiliyor.
En basit kullanımına bakacak olursak; diyelim bizim için 1-10 arasında (1 ve 10 dahil olacak şekilde) rakam seçmesini istiyoruz.
Random integer
import random
random_integer = random.randint(1, 10)
Ne yaptık? İlk olarak random modülünü import etmesini söyledik.
Ardından random_integer adında bir değişken belirledik.
ardından modülün adı ve beraberinde kullanılacak opsiyonun adını (randint) yazdık.
randint çünkü bir integer yani tam sayı seçiyoruz.
Parantez içi ile ilgili dikkat edilmesi gereken bir tek nokta var, belirtilen rakamların arasında virgül ve virgülden sonra bir boşluk olması gerekiyor.
Peki küsuratlı (floating) bir sayı seçmek gerekse ne yapacaktık?
Diyelim
0 ve 1 arasında bir rakam seçilmesini istiyoruz. Bu defa küsuratlı bir
rakam olacağından 1 dahil olmayacak, ona en yakın rakam 0,9999...
şeklinde olabilecek.
Bu defa kodun aşağıdaki şekilde yazılması gerekecekti:
import random
random_float = random.random(0, 1)
Burada dikkat edilmesi gereken bir konu var: Eğer 0 ve 5 arasında bir floating number seçimi istiyor olsaydık x5 yapmamız gerekecekti.
random_float = random.random(0, 1) * 5
ÖRNEK ÇALIŞMA
Aslında çok basit bir kod yazmak istiyoruz:
Yazı mı tura mı diye sorduğumuzda bozuk para fırlatmak zorunda kalmayalım ve bize python kodu cevap versin.
Birden fazla şekilde yazılabilecek bu kodu şu ana kadar öğrendiklerimiz ile denersek:
import random
Yazı = 1
Tura = 0
bozuk_para = random.randint(0, 1)
if bozuk_para == 0
print("Tura")
if bozuk_para ==1
print("Yazı")