Anasayfa / PYTHON / Python Random Kütüphanesi (Rastgelelik) ve Örnekler

Python Random Kütüphanesi (Rastgelelik) ve Örnekler

Yazılım dünyasına adım attığınızda, yazdığınız programların her zaman aynı ve tahmin edilebilir sonuçlar üretmesini istemeyebilirsiniz. Bir zar atma oyunu yaparken her seferinde farklı bir zar değerinin gelmesi, bir müzik çaların şarkıları karışık çalması veya bir “Adam Asmaca” oyununda bilgisayarın her defasında farklı bir kelime seçmesi programlarınıza dinamizm katar. İşte Python programlama dilinde bu rastgelelik (randomness) işlemlerini yapmamızı sağlayan araca Random Kütüphanesi adı verilir.

Bu rehberimizde, Python’da “random” (rastgele) modülünün ne olduğunu, projelerimize nasıl dahil edildiğini ve en sık kullanılan rastgelelik fonksiyonlarını sıfırdan başlayanların kolayca anlayabileceği gerçek hayat örnekleriyle inceleyeceğiz.

1. Kütüphane (Modül) Kavramı ve “Random” Kütüphanesini İçe Aktarmak

Önceki derslerimizde Python’un kendi içinde hazır gelen print(), input(), len() gibi gömülü (built-in) fonksiyonlarından bahsetmiştik. Ancak Python sadece bunlarla sınırlı değildir. Belirli amaçlar için önceden yazılmış ve çok sık kullanılan kod parçacıklarının bir araya getirildiği “kütüphane” (modül veya paket) yapıları bulunur.

Random kütüphanesi, Python kurulumu ile birlikte bilgisayarınıza otomatik olarak yüklenen standart kütüphanelerden biridir; yani kullanmak için internetten ekstra bir indirme (“pip install” gibi) yapmanıza gerek yoktur.

Bu kütüphanenin içindeki sihirli fonksiyonları programımızda kullanabilmek için, kodumuzun en üst satırına İngilizce “içe aktar” anlamına gelen import komutunu yazmalıyız.

import random

Sadece bu satırı yazarak, Python’a “Rastgele işlemler yapacağım, o yüzden random kütüphanesinin içindeki tüm araçları benim kullanımım için hazırla” demiş oluyoruz.

2. Rastgele Tam Sayı Üretmek: random.randint()

Oyunlarda, çekiliş uygulamalarında veya simülasyonlarda en çok ihtiyaç duyulan şey belirli bir aralıkta rastgele bir sayı üretmektir. Bunun için kütüphanenin randint(başlangıç, bitiş) fonksiyonu kullanılır. Bu fonksiyon, içine verdiğiniz başlangıç ve bitiş değerleri arasında (verdiğiniz sayılar da dahil olmak üzere) rastgele bir tam sayı (integer) oluşturur.

Örnek Uygulama: Zar Atma Simülatörü

import random

# 1 ile 6 arasında rastgele bir sayı seçip 'zar_degeri' değişkenine atıyoruz.
zar_degeri = random.randint(1, 6)

print("Zar atılıyor...")
print("Gelen zar:", zar_degeri)

Bu kodu her çalıştırdığınızda ekranda 1, 2, 3, 4, 5 veya 6 sayılarından farklı bir tanesini göreceksiniz.

Başka bir örnekte, 1 ile 100 arasında rastgele bir sayı oluşturmak istersek şu basit kodu kullanabiliriz:

import random
x = random.randint(1, 100)
print(x)

Gördüğünüz gibi sadece iki satır kodla 1 ile 100 arasında rastgele bir tam sayı üretip ekrana yazdırdık.

3. Bir Liste İçerisinden Rastgele Eleman Seçmek: random.choice()

Bazen rastgele sayı üretmek yerine, elimizdeki var olan bir listenin (veya metnin) içinden rastgele bir eleman çekmek isteyebiliriz. Örneğin bir sınıftaki öğrenciler arasından rastgele bir nöbetçi seçecekseniz random.choice() fonksiyonu tam aradığınız araçtır.

Örnek Uygulama: Adam Asmaca Oyunu Kelime Seçimi Eğlenceli bir “Adam Asmaca” oyunu kodladığınızı düşünün. Bilgisayarın her oyunda oyuncuya farklı bir kelime sorması gerekir. İşte bu noktada random.choice() devreye girer.

import random

# İçinden kelime seçilecek bir liste oluşturuyoruz
kelime_listesi = ["türkiye", "gaziantep", "istanbul", "programlama", "bilgisayar", "bilişim", "okul", "deniz"]

# Bu listenin içinden rastgele bir kelime seçiyoruz
secili_kelime = random.choice(kelime_listesi)

print("Bilgisayarın sizin için seçtiği kelime:", secili_kelime)

Yukarıdaki kod her çalıştığında kelime_listesi isimli dizinin içinden bir eleman rastgele olarak secili_kelime değişkenine aktarılacaktır. Bu özellik sadece oyunlarda değil, web sitelerinde kullanıcılara rastgele “Günün Sözü”nü göstermek için de sıklıkla kullanılır.

4. Rastgele Ondalıklı Sayı Üretmek: random.random() ve random.uniform()

Bilimsel hesaplamalar ve yapay zeka alanında genellikle 0 ile 1 arasında olasılık veya yüzdelik dilimleri ifade eden ondalıklı sayılara (float) ihtiyaç duyulur.

  • random.random(): Bu fonksiyon parametre almaz ve her çağrıldığında 0.0 ile 1.0 arasında (1.0 dahil değil) rastgele bir ondalıklı sayı üretir.
  • random.uniform(a, b): Eğer ondalıklı sayınızı spesifik bir aralıkta üretmek istiyorsanız (örneğin 1.5 ile 5.5 arasında), bu fonksiyonu kullanırsınız.
import random

olasilik = random.random()
print("0 ile 1 arası olasılık değeri:", olasilik) # Çıktı: 0.4357... gibi bir değer.

sicaklik = random.uniform(20.5, 35.5)
print("Rastgele sıcaklık değeri:", sicaklik) # Çıktı: 27.812... gibi bir değer.

5. Bir Listenin Sıralamasını Karıştırmak: random.shuffle()

İngilizce’de “karıştırmak” anlamına gelen shuffle() fonksiyonu, içine verilen bir listenin elemanlarının sırasını kalıcı olarak rastgele değiştirir. Müzik platformlarındaki “Karışık Çal (Shuffle)” butonunun arka planındaki mantık tam olarak budur.

import random

sarkilar = ["Şarkı 1", "Şarkı 2", "Şarkı 3", "Şarkı 4"]
print("Orijinal Liste:", sarkilar)

# Listeyi karıştırıyoruz
random.shuffle(sarkilar)

print("Karıştırılmış Liste:", sarkilar)

Önemli Not: shuffle() fonksiyonu yeni bir liste oluşturmaz, doğrudan içine verdiğiniz listenin orijinal yapısını kalıcı olarak karıştırır.

Kapsamlı Proje Uygulaması: Rastgele Sayı Seçimi ve Döngülerle Kontrol

Şimdiye kadar öğrendiğimiz “Değişkenler”, “Döngüler”, “Koşullu İfadeler” ve “Random” kütüphanesini birleştirerek pratik bir uygulama yapalım. Bilgisayar 1 ile 20 arasında rastgele bir sayı üretsin. Eğer bu sayı çift ise döngü sonlansın, tek ise döngü devam etsin.

import random

while True:
    # 1 ile 20 arasında rastgele bir sayı seçiyoruz
    n = random.randint(1, 20)
    print("Rastgele seçilen:", n)

    # Seçilen sayının çift olup olmadığını mod (%) operatörü ile kontrol ediyoruz
    if n % 2 == 0:
        print("Çift sayı seçildi, döngü bitti.")
        break # Döngüyü sonlandırma komutu

Bu kod çalıştığında bilgisayar art arda rastgele sayılar seçer. Eğer seçilen sayı (örneğin 5, 13, 15) tek ise if bloğu çalışmaz ve döngü başa sarıp tekrar sayı üretir. Bilgisayar ne zaman çift bir sayı (örneğin 8) seçerse, koşul sağlanır, “Çift sayı seçildi, döngü bitti” yazısı ekrana basılır ve break komutu sayesinde while döngüsü tamamen sonlandırılır.

Sonuç: Python’un random (rastgelelik) kütüphanesi, yazdığınız programları statik olmaktan çıkarıp, her çalıştığında farklı senaryolar ve veriler üreten dinamik, akıllı ve oyunlaştırmaya uygun yazılımlar haline getirir. Gömülü bir kütüphane olması sayesinde import random yazarak anında kullanmaya başlayabileceğiniz bu modül; sayı üretmeden (randint), liste içi rastgele seçimlere (choice) ve sıralama karıştırmaya (shuffle) kadar çok geniş yeteneklere sahiptir. Şimdi kendi geliştirme ortamınızı (IDE) açıp, bu kodları bol bol değiştirerek kendi şans veya tahmin oyunlarınızı kodlama vakti!

Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir