Programlar

Eda’nın eklediği görseldeki ödev sorusuna dair açıklamalar aşağıdaki gibidir:

Python Ödevi Detayları

  • Ders Konusu: Python’da Fonksiyon Tanımlama

  • Görev:

    1. Klavyeden girilen bir sayının asal sayı olup olmadığını bulacak bir Python programı yazın.
    2. Programınızı, ogrencino.py şeklinde bir dosya adı vererek kaydedin.
    3. Dosyayı belirtilen e-posta adresine (teber.ozceylan@inonu.edu.tr) gönderin.
  • Son Teslim Tarihi: 4 Mayıs 2023, saat 23:59


Ödevi Nasıl Yapabilirsiniz?

Aşağıda, belirtilen şartları karşılayan örnek bir Python kodu bulunmaktadır:

def asal_mi(sayi):
    """Bir sayının asal olup olmadığını kontrol eden fonksiyon."""
    if sayi < 2:
        return False
    for i in range(2, int(sayi**0.5) + 1):
        if sayi % i == 0:
            return False
    return True

# Kullanıcıdan sayı al
try:
    girilen_sayi = int(input("Bir sayı girin: "))
    if asal_mi(girilen_sayi):
        print(f"{girilen_sayi} bir asal sayıdır.")
    else:
        print(f"{girilen_sayi} asal sayı değildir.")
except ValueError:
    print("Lütfen geçerli bir sayı girin.")

Adım Adım Yol Haritası

  1. Fonksiyon Tanımlama:

    • asal_mi ismindeki fonksiyon, verilen bir sayının asal olup olmadığını kontrol eder.
    • Asallık kriteri: Sadece 1 ve kendisine bölünebilen, pozitif tam sayılar.
  2. Kullanıcıdan Girdi Alma:

    • Kullanıcıdan bir sayı girmesi istenir.
    • Girilen bilgi, int veri tipine dönüştürülür. Hatalar kontrol edilir.
  3. Sonuç Yazdırma:

    • Kullanıcının girdiği sayı asal ise uygun bir mesaj görüntülenir.
    • Asal değilse farklı bir mesaj verilir.
  4. Dosya Adlandırma ve Gönderme:

    • Yukarıdaki kodu .py uzantılı bir dosya olarak kaydedin. Dosya adı örneğin 12345678.py şeklinde olmalıdır (öğrenci numaranıza göre).
    • Dosyayı e-posta ile gönderin.

Örnek Çalışma Sonuçları

Girdi Çıktı
7 7 bir asal sayıdır.
10 10 asal sayı değildir.
-1 Lütfen geçerli bir sayı girin.

Ek Öneriler

  1. Kodu yazarken hata ayıklama yapmayı unutmayın.
  2. Fonksiyon kullanımını ve genel Python yazılım prensiplerini öğrenmek için kurs materyalinden faydalanabilirsiniz.
  3. Dosya adı ve teslim tarihi konusunda öğretmeninize danışarak doğrulama yapabilirsiniz.

Eda, bu açıklamalar ödevin tamamlanmasına yardımcı olacaktır. Eğer ek sorularınız varsa lütfen belirtin! :blush:

@Eda_Dayar

Ekonometri 10. Hafta: Python’da fonksiyon tanımlama

Cevap:

Table of Contents

4.1 *
4.2 *
5. *
6. *
7. *

1. Genel Bakış

Ekonometrinin 10. haftasında programlama becerilerimizi geliştirerek, Python dilinde nasıl fonksiyon tanımlanacağı ve fonksiyonların neden önemli olduğu üzerinde duruyoruz. Bu bağlamda, klavyeden girilen bir sayının asal sayı olup olmadığını bulan basit bir Python programı yazmamız isteniyor. Buradaki temel amaç, hem kullanıcıdan alınan verileri değerlendirmek hem de fonksiyon kullanarak programı modüler ve düzenli hale getirmektir.

2. Asal Sayı Nedir?

Bir sayının asal (prime) sayılabilmesi için:

  • 1’den büyük olması,
  • Kendisi ve 1 dışında hiçbir sayıya tam olarak bölünmemesi gerekir.

Örneğin, 2 bir asal sayıdır, çünkü yalnızca 1 ve 2’ye bölünebilir. Benzer şekilde 3, 5, 7, ve 11 asal sayılara örnek olarak gösterilebilir.

3. Python’da Fonksiyon Tanımlama

Python’da fonksiyonlar, def anahtar kelimesiyle başlar ve aşağıdaki biçimde yazılır:

def fonksiyon_adi(parametre1, parametre2, ...):
 # Fonksiyon gövdesi
 # Gerekli işlemler
 return uygun_değer

Fonksiyon yazmanın avantajları:

  • Kod tekrarını önler.
  • Anlaşılır ve bakım yapılması kolay programlar yazarız.
  • Karmaşık problemleri alt parçalara bölebiliriz.

4. Asal Sayı Kontrol Programı

4.1 Algoritma Açıklaması

  1. Kullanıcıdan Girdi Al: Kullanıcıdan bir tam sayı girmesini isteyin.
  2. Sayıyı İncele:
  • Sayı 1 veya daha küçükse, bu sayı asal sayı değildir.
  • Değilse, 2’den başlayarak sayının kareköküne kadar kontrol ederek herhangi bir tam bölünme (kalan 0) var mı diye bakın.
  1. Sonucu Döndür: Eğer tam bölünme bulunuyorsa asal değildir, bulunmuyorsa asaldır.
  2. Yazdır: Ekrana uygun mesajı basın.

4.2 Kod Örneği

Aşağıdaki kodda, kullanıcıdan sayı alırız ve tanımladığımız asal_mi adlı fonksiyonla sayının asal sayı olup olmadığını tespit ederiz. Bu kodu “ogrenci.py” şeklinde bir dosya olarak kaydedip ödev gereğince gönderebilirsiniz.

def asal_mi(sayi):
 """
 Bu fonksiyon, kendisine parametre olarak gelen sayının
 asal olup olmadığını kontrol eder ve True/False döndürür.
 """
 if sayi <= 1:
 return False # 1 ve altındaki sayılar asal değildir

 # 2'den sayinin kareköküne kadar bölme testi
 for i in range(2, int(sayi**0.5) + 1):
 if sayi % i == 0:
 return False # Tam bölündüyse asal değil
 return True # Hiçbir tam bölünme bulunmadıysa asal


def main():
 # Kullanıcıdan bir sayı al
 girilen_sayi = int(input("Bir sayı giriniz: "))

 # Fonksiyonu çağırarak sonucu al
 if asal_mi(girilen_sayi):
 print(f"{girilen_sayi} bir asal sayıdır.")
 else:
 print(f"{girilen_sayi} bir asal sayı değildir.")


# Ana fonksiyonu çalıştır
if __name__ == "__main__":
 main()

5. Örnek Çıktılar

  • Girdi: 5
    Çıktı: “5 bir asal sayıdır.”
  • Girdi: 12
    Çıktı: “12 bir asal sayı değildir.”

6. Özet Tablo

Adım Açıklama Kodda İlgili Kısım
1. Fonksiyon Tanımlama asal_mi isimli fonksiyon ile sayının asal olup olmadığını kontrol eder. def asal_mi(sayi): ...
2. Koşullu Kontrol (1 <=) 1 veya altındaki sayılar doğrudan asal değildir. if sayi <= 1:
3. Döngü ile Bölme Kontrolü 2’den sayının kareköküne kadar bölünebilirlik denetler. for i in range(2, ...):
4. Sonuç Döndürme Tam bölünme yoksa True, varsa False döndürür. return True/False
5. Kullanıcıdan Veri Alma input() fonksiyonu ile kullanıcıdan sayı alır. girilen_sayi = int(...)
6. Mesaj Yazdırma Girilen sayının asal olup olmadığına göre çıktı verir. print(...)

7. Kısa Özet

  • Asal Sayı: Yalnızca 1 ve kendisine bölünen 1’den büyük tam sayılardır.
  • Fonksiyon Tanımlama: def ile başlayarak tekrar eden işlemleri modüler hale getirmenizi sağlar.
  • Asal Kontrol Programı: Kullanıcıdan alınan sayıyı asal_mi fonksiyona gönderir, dönen sonuca göre ekrana mesaj basar.

Bu adımları takip ederek “ogrenci.py” dosyasını oluşturabilir, ardından ödev kapsamında hocanızın belirttiği e-posta adresine veya platforma gönderebilirsiniz.

@Eda_Dayar