Modüller # 7 - Python Dersleri (Tutorials)

Words
489
Reading
3 min
Listen
Play
7y

kapak.jpg

Merhabalar

Python programlama derslerinin bu bölümünde modülleri kullanabileceğimiz sayı tahmin oyunu hazırlayacağız. Böylelikle hem modüllerin kullanımı göreceğiz hem de kod yazma becerimizi artıracağız.

Kod kısmına gelmeden önce her zamanki gibi algoritması üzerine konuşalım.

Sayı tahmin oyunundaki tahmin edilecek sayı, rastgele üretilen random bir sayı olacaktır. Sonrasında kullanıcıdan bir sayı girmesini istenilecektir.

Kullanıcı her sayı girdiğinde girilen sayı, rastgele sayı ile karşılaştırılıp kullanıcıya yüksek değer giriniz veya düşük değer giriniz şeklinde talimat verecektir.

Tabi kullanıcı bu tahmin olayını sonsuza kadar oynayamayacağından oyunda kullanıcıya bir tahmin hakkı verilecektir. Eğer bu tahmin hakkını doldurursa oyun sonlandırılacaktır.

Oyunun sonlandırılması iki durumda olacaktır:

  • Kişinin doğru tahmin etmesi
  • Tahmin hakkını doldurması

Algoritma genel olarak bu temeller üzerine kuruldu. Şimdi de kod kısmına geçelim :

Uygulamanın başındaki

from random import randint
from time import sleep

kodları ile programda kullanacağımız randint() ve sleep() fonksiyonlarını projemize import ettik. İkinci import yöntemini kullandığımız için kod kısmında her defasında modül ismini yazmamız gerek kalmamıştır.

tahmin_hakki = 4

kodu ile kullancıya vereceğimiz tahmin hakkını belirlemiş olduk.

sayi = randint(1,15)

kodu ile de tahmin edilmesi gereken random sayımızı üretip sayı değişkenimize atadık..

randint() fonksiyonu başlangıcı ve bitişi verilen değerler arasında (değerler dahil) rastgele sayı üretmek için kullanılır.

print("Doğru sayı :",sayi,"\n")

koduna gerek yoktur. Sadece kontrol amaçlı konulmuştur.

def sorgulaniyor():
print("\nSorgulanıyor...")
sleep(1)

kodu ile sorgulaniyor adında bir fonksiyon tanımladık. Kullanıcı her değer girdiğinde kullanıcıya "Sorgulanıyor" mesajı vermek ver 1 sn bekletmek için kullanılacaktır.

sleep() fonksiyonu içerisine aldığı sayısal değer kadar saniye gecikmesi yapmaktadır.

Şimdi gelelim asıl önemli kısıma.

while() döngüsünün çalışma koşulu tahmin_hakki değişkeninin sıfırdan farklı bir değer olmasıdır. Yani tahmin_hakki sıfır olmadığı sürece döngü devam edecektir. Yani en fazla 4 kez dönecektir.

Döngünün içerisinde

tahmin = int(input("Lütfen 1-15 arasında bir sayı giriniz : "))

kodu ile kullanıcıdan 1-15 arası bir değer girmesi istenmiştir. Girilen değer int() metodu ile integer değişkene çevrilmiş ve tahmin değişkenine atanmıştır.

Sonrasında gelen if-elif-else yapısında ise bu tahmin değeri ile rastgele üretilen sayi değeri karşılaştırılmıştır.

Eğer kullanıcı büyük bir değer girerse ilk if() yapısına girilecek ve kullanıcı 1 sn bekletildikten sonra "Daha düşük bir sayı giriniz" şeklinde mesaj verilecektir. if bloğundan çıkmadan önce de tahmin_hakki değeri bir düşürülecektir.

elif bloğu için de durum aynıdır. Kullanıcı sayi değerinden küçük değer tahmin ederse kullanıcı sorgulaniyor() fonksiyonu ile 1 sn bekletildikten sonra "Daha yüksek bir sayı giriniz" mesajı ile karşılaşacak ve sonrasında tahmin_hakki değeri 1 düşürülecektir.

Eğer kullanıcı doğru tahmin etmişse en sondaki else bloğuna girecek ve "Tebrikler. Doğru tahmin ettiniz", "Program sonlandırılıyor." mesajını aldıktan sonra

break

anahtar kelimesi ile döngü kırılıp program sonlandırılacaktır.

En sondaki if yapısında

Kullanıcının son bir tahmin hakkı kaldığında kullanıcıya "Son 1 hakkınız kaldı..." mesajı verilecektir. elif kısmında ise tahmin hakkı bittiğinde kullanıcıya verilecek mesaj bulunmaktadır.

Şimdi de uygulamamızı çalıştıralım :

  1. İlk olarak doğru tahminde bulunamadığımızı varsayalım :

2.Şimdi de doğru tahminde bulunduğumuzu varsayalım :

Görüldüğü gibi uygulamamız çalışmaktadır.Anlamadığınız noktaları yorum panelini kullanarak sorabilirsiniz.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me

Modüller # 7 - Python Dersleri (Tutorials) | Ecency