Linux’da Anaconda Python Kurulumu
1 Şubat 2021İlk Uygulama
27 Şubat 2021Şimdi sizinle bir soru üretme programı yazalım. Yani şöyle kısaca anlatabilirim; yazacağımız program, belirlediğimiz soru kalıplarında (Faiz, havuz, işçi problemleri) sorunun rakamlarını rastgele belirleyerek sorular oluşturacak ve cevaplarını kontrol edecek.
Haydi başlayalım. Öncelikle rastgele sayılar üretmemiz gerekecek. Bunun için numpy kütüphanesinin random modülünü kullanabiliriz.
import numpy as np ilk_sayi = np.random.randint(2,10) ikinci_sayi = np.random.randint(10,100)
Yukarıdaki ilk satırla numpy kütüphanesini çağırdık, ikinci satırla 2 ile 10 arasında rastgele sayı ürettik. Sonra 10 ile 100 arasında ikinci bir rastgele sayı ürettik. Şimdi kullanıcıya bir soru soralım
soru = input(f"Bir işi {ilk_sayi} işçi {ikinci_sayi} saatte yapıyorsa bir işçi aynı işi kaç saatte yapar?") soru = float(soru)
input() fonksiyonu python’da kullanıcıdan giriş yapması için kullandığımız fonksiyondur. Böylece parantez içindeki ifade kullanıcıya sorularak cevabı girmesi istenecek. Dikkat ettiyseniz sorunun içinde {} ifadesi ve tırnaktan önce f harfi var iki tane. Buralara rastgele sayıları yerleştirecek python. Sonrasında python’a kullanıcının girdiği sorunun cevabı “soru” değişkenine atanacak. Ancak input() fonksiyonuyla sorulan soruların cevaını python hep metin olarak alır. Bu sebeple sonraki satırda bu sayıyı float() fonksiyonuyla, ondalıklı sayıya dönüştürdük.
cevap = ilk_sayi*ikinci_sayi cevap = round(cevap, 2) if cevap == soru: print("Tebrikler girdiğiniz cevap doğru.") else: print(f"Girdiğiniz cevap maalesef yanlış. Doğru cevap {cevap}")
Yukarıdaki kodda öncelikle cevabımızı biz hesapladık, rastgele ürettiğimiz sayılarla. Sonrasında bu cevabın çok küsüratlı bir rakam olabileceğini düşünerek round() fonksiyonuyla noktadan sonra 2 haneye yuvarladık. sonrasında if ile kullanıcının girdiği (soru) ile cevabın birbirine eşit olması durumunda tebrikler mesajı gösterdik. Eğer girilen sayı ile cevap birbirine eşit değilse cevabın yanlış olduğunu ve doğru cevabın ne olduğunu printin içine önce f harfini sonrasında ise {} ifadesi gösterilmesini sağladık.
Sıra sizde: Lütfen sizde faiz hesapları, ve havuz problemleri ile ilgili örnekleri yukarıdaki örneklerden kopyalayıp yapıştırarak oluşturun. Bir sorunuz olursa mutlaka yorumlardan yazın.
Serdar Turgut İnce