Merhaba Değerli SHT & İMT Ailesi
Python Algoritma Geliştirme 2. Konusu
Python'da Henüz Yeniyseniz
Kurcalayarak Algoritmanızı Geliştirmenize Yarayacak Bazı Programları Sizlere Sunuyorum
İçindekiler:
Oyuncu Kaydetme Programı
Basit Hesap Makinesi
Kullanıcıdan Giriş Alma
ATM Örneği
Mail Gönderme
Faktoriyel Bulma Programı
Fibonacci Serisi
Kullanıcı Girişi While Döngüsü
Asal Sayılar
Tam Bölenleri Bulma
Sayı Tahmin Oyunu
Kumanda Sınıfı
Ders Notu Hesaplama
Dosya İşlemleri
Kütüphane
Kütüphane Programı Proje
Decorator
Generator
İterator
Datetime Modülü
Os Modülü
Python Algoritma Geliştirme 2. Konusu
Python'da Henüz Yeniyseniz
Kurcalayarak Algoritmanızı Geliştirmenize Yarayacak Bazı Programları Sizlere Sunuyorum
İçindekiler:
Oyuncu Kaydetme Programı
Basit Hesap Makinesi
Kullanıcıdan Giriş Alma
ATM Örneği
Mail Gönderme
Faktoriyel Bulma Programı
Fibonacci Serisi
Kullanıcı Girişi While Döngüsü
Asal Sayılar
Tam Bölenleri Bulma
Sayı Tahmin Oyunu
Kumanda Sınıfı
Ders Notu Hesaplama
Dosya İşlemleri
Kütüphane
Kütüphane Programı Proje
Decorator
Generator
İterator
Datetime Modülü
Os Modülü
______________________________________________
Kök Bulma
"""
2. dereceden bir bilinmeyenli denklemin köklerini bulma
Denklem : ax^2 + bx + c
Deltayı Hesaplama: b ** 2 - 4 * a * c
Birinci Kök : (-b - delta ** 0.5) / (2*a)
İkinci Kök : (-b + delta ** 0.5) / (2*a)
"""
a = int(input("a:"))
b = int(input("b:"))
c = int(input("c:"))
delta = b ** 2 - 4 * a *c
x1 = (-b - delta ** 0.5 ) / (2 * a)
x2 = (-b + delta ** 0.5 ) / (2 * a)
print("Birinci Kök: {}\nİkinci Kök: {}\n".format(x1,x2))
______________________________________________
Oyuncu Kaydetme Programı
print("Oyuncu Kaydetme Programı")
ad = input("Oyuncunun Adı:")
soyad =input("Oyuncunun Soyadı:")
takım = input("Oyuncunun Takımı:")
bilgiler = [ad,soyad,takım]
print("Bilgiler Kaydediliyor....")
print("Oyuncu Adı: {}\nOyuncu Soyadı: {}\nOyuncunun Takımı: {}\n".format(bilgiler[0],bilgiler[1],bilgiler[2]))
print("Bilgiler Kaydedildi.....")
______________________________________________
Basit Hesap Makinesi
print("""-------------------------------------------------
Hesap Makinesi Programına Hoşgeldiniz
İşlemler;
1. Toplama İşlemi
2. Çıkarma İşlemi
3. Çarpma İşlemi
4. Bölme İşlemi
-----------------------------------------------------------
""")
a = int(input("Birinci Sayı:")) # Birinci Sayıyı Alıyoruz.
b = int(input("İkinci Sayı:")) # İkinci Sayıyı Alıyoruz.
işlem = input("İşlem Numarasını Giriniz:") # Buna göre koşullarımızı yazacağız.
if (işlem == "1"): # Toplama İşlemi
print("{} ile {} 'nin toplamı {} dır.".format(a,b,a+b))
elif (işlem == "2"):
print("{} ile {} 'nin farkı {} dır.".format(a, b, a - b))
elif (işlem == "3"):
print("{} ile {} 'nin çarpımı {} dır.".format(a, b, a * b))
elif (işlem == "4"):
print("{} 'nın {} 'e bölümü {} dır.".format(a, b, a / b))
else:
print("Lütfen geçerli bir işlem giriniz...")
______________________________________________
Kullanıcıdan Giriş Alma
print("**********\nKullanıcı Girişi\n**********\n")
# Kullanıcı Adı Girişi örneğinin gerçek versiyonunu PyQT5 derslerinde bulabilirsiniz.
sys_kul_adı = "mmurat" # Sistemde Kayıtlı Olduğunu Düşündüğümüz Kullanıcı Adı
sys_parola = "12345" # Sistemde Kayıtlı Olduğunu Düşündüğümüz Parola
kullanıcı_adı = input("Kullanıcı Adını Giriniz:") # Kullanıcı Adını input ile alıyoruz.
parola = input("Parolanızı Giriniz:")
if (kullanıcı_adı != sys_kul_adı and parola == sys_parola):
print("Kullanıcı Adı Hatalı...")
elif (kullanıcı_adı == sys_kul_adı and parola != sys_parola):
print("Parola Hatalı...")
elif (kullanıcı_adı != sys_kul_adı and parola != sys_parola):
print("Kullanıcı Adı ve Parola Hatalı...")
else:
print("Başarıyla Giriş Yaptınız...")
______________________________________________
ATM Örneği
print("********************\nATM sistemine hoşgeldiniz\n********************")
print("""
İşlemler:
1. Bakiye Sorgulama
2. Para Yatırma
3. Para Çekme
Programdan 'q' tuşu ile çıkabilirsiniz.
""")
bakiye = 1000 # Bakiyemiz 1000 lira olsun.
while True:
işlem = input("İşlemi giriniz:")
if (işlem == "q"):
print("Yine bekleriz....")
break
elif (işlem == "1"):
print("Bakiyeniz {} tldir".format(bakiye))
elif (işlem == "2"):
miktar = int(input("Yatırmak istediğiniz tutar:"))
bakiye += miktar
elif (işlem == "3"):
miktar = int(input("Çekmek istediğiniz tutar:"))
if (bakiye - miktar < 0 ):
print("Bu kadar para çekemezsiniz...")
print("Bakiyeniz {} tldir".format(bakiye))
continue
bakiye -= miktar
else:
print("Lütfen geçerli bir işlem giriniz.")
______________________________________________
Faktoriyel Bulma Programı
print("""*******************
Faktoriyel Bulma Programı
Programdan çıkmak için 'q' ya basın.
*******************""")
while True:
sayi = input("Sayı:")
if (sayi == "q"):
print("Programdan çıkılıyor...")
break
sayi = int(sayi)
faktoriyel = 1
for i in range(2,sayi+1):
faktoriyel *= i
print("Faktoriyel:",faktoriyel)
______________________________________________
Fibonacci Serisi
"""
Fibonacci Serisi yeni bir sayıyı önceki iki sayının toplamı şeklinde oluşturur.
1,1,2,3,5,8,13,21,34...............
"""
ilk_sayı = 1
ikincisayi = 1
fibonacci = [ilk_sayı,ikincisayi]
for i in range(10):
ilk_sayı,ikincisayi = ikincisayi,ilk_sayı + ikincisayi
fibonacci.append(ikincisayi)
print(fibonacci)
______________________________________________
Kullanıcı Girişi While Döngüsü
print("**********\nKullanıcı Girişi\n**********\n")
# Kullanıcı Adı Girişi örneğinin gerçek versiyonunu PyQT5 derslerinde bulabilirsiniz.
sys_kul_adı = "mmurat" # Sistemde Kayıtlı Olduğunu Düşündüğümüz Kullanıcı Adı
sys_parola = "12345" # Sistemde Kayıtlı Olduğunu Düşündüğümüz Parola
giriş_hakkı = 3
while True: # Kullanıcı Doğru Giriş Yaptığında ve Giriş Hakkı bittiğinde sona erecek.
kullanıcı_adı = input("Kullanıcı Adı:")
parola = input("Parola:")
if (kullanıcı_adı != sys_kul_adı and parola == sys_parola):
print("Kullanıcı Adı Hatalı...")
giriş_hakkı -= 1
print("Giriş Hakkı: ", giriş_hakkı)
elif (kullanıcı_adı == sys_kul_adı and parola != sys_parola):
print("Parola Hatalı...")
giriş_hakkı -= 1
print("Giriş Hakkı: ", giriş_hakkı)
elif (kullanıcı_adı != sys_kul_adı and parola != sys_parola):
print("Kullanıcı Adı ve Parola Hatalı...")
giriş_hakkı -= 1
print("Giriş Hakkı: ", giriş_hakkı)
else:
print("Başarıyla Giriş Yaptınız...")
break
if (giriş_hakkı == 0 ):
print("Giriş Hakkınız Bitti...")
break
______________________________________________
"""
Asal Sayılar : 1'e ve kendisinden başka sayıya bölünmeyen sayılardır.
"""
def asal_mi(sayı):
if (sayı == 1):
return False
elif (sayı == 2):
return True
else:
for i in range(2,sayı):
if (sayı % i == 0):
return False
return True
while True:
sayı = input("Sayı:")
if (sayı == "q"):
break
else:
sayı = int(sayı)
if (asal_mi(sayı)):
print(sayı,"asal bir sayıdır.")
else:
print(sayı,"asal bir sayı değildir.")
______________________________________________
Tam Bölenleri Bulma
def tambolenleribulma(sayı):
tam_bolenler = []
for i in range(2,sayı):
if (sayı % i == 0):
tam_bolenler.append(i)
return tam_bolenler
while True:
sayı = input("Sayı:")
if (sayı == "q"):
print("Program Sonlandırılıyor")
break
else:
sayı = int(sayı)
print("Tam bölenler:",tambolenleribulma(sayı))
______________________________________________
Sayı Tahmin Oyunu
import random
import time
print("""************************
Sayı Tahmin Oyunu
1 ile 1000 arasında sayıyı tahmin edin.
************************""")
rastgele_sayı = random.randint(1,1000)
tahmin_hakkı = 10
while True:
tahmin = int(input("Tahmininiz:"))
if (tahmin < rastgele_sayı):
print("Bilgiler Sorgulanıyor...")
time.sleep(1)
print("Daha yüksek bir sayı söyleyin....")
tahmin_hakkı -= 1
elif (tahmin > rastgele_sayı):
print("Bilgiler Sorgulanıyor...")
time.sleep(1)
print("Daha düşük bir sayı söyleyin....")
tahmin_hakkı -= 1
else:
print("Bilgiler Sorgulanıyor....")
time.sleep(1)
print("Tebrikler! Sayımız",rastgele_sayı)
break
if (tahmin_hakkı == 0):
print("Tahmin Hakkınız Bitti...")
print("Sayımız:",rastgele_sayı)
break
______________________________________________
Kumanda Sınıfı
import random
import time
class Kumanda():
def __init__(self,tv_durum = "Kapalı",tv_ses = 0,kanal_listesi = ["Trt"],kanal = "Trt"):
self.tv_durum = tv_durum
self.tv_ses = tv_ses
self.kanal_listesi = kanal_listesi
self.kanal = kanal
def tv_ac(self):
if (self.tv_durum == "Açık"):
print("Televizyon zaten açık....")
else:
print("Televizyon Açılıyor...")
self.tv_durum = "Açık"
def tv_kapat(self):
if (self.tv_durum == "Kapalı"):
print("Televizyon Zaten Kapalı..")
else:
print("Televizyon Kapanıyor....")
self.tv_durum = "Kapalı"
def ses_ayarları(self):
while True:
cevap = input("Sesi Azalt: '<'\nSesi Artır: '>'\nÇıkış : çıkış")
if (cevap == "<"):
if (self.tv_ses != 0):
self.tv_ses -= 1
print("Ses:",self.tv_ses)
elif (cevap == ">"):
if (self.tv_ses != 31):
self.tv_ses += 1
print("Ses:",self.tv_ses)
else:
print("Ses Güncellendi:",self.tv_ses)
break
def kanal_ekle(self,kanal_ismi):
print("Kanal ekleniyor....")
time.sleep(1)
self.kanal_listesi.append(kanal_ismi)
print("Kanal Eklendi.....")
def rastgele_kanal(self):
rastgele = random.randint(0,len(self.kanal_listesi)-1)
self.kanal = self.kanal_listesi[rastgele]
print("Şu anki Kanal:" ,self.kanal)
def __len__(self):
return len(self.kanal_listesi)
def __str__(self):
return "Tv Durumu: {}\nTv Ses: {}\nKanal Listesi: {}\nŞu anki kanal: {}\n".format(self.tv_durum,self.tv_ses,self.kanal_listesi,self.kanal)
kumanda = Kumanda()
print("""
Televizyon Uygulaması
1. Tv Aç
2. Tv Kapat
3. Ses Ayarları
4. Kanal Ekle
5. Kanal Sayısını Öğrenme
6. Rastgele Kanala Geçme
7. Televizyon Bilgileri
Çıkmak için 'q' ya basın.
""")
while True:
işlem = input("İşlemi Seçiniz:")
if (işlem == "q"):
print("Program Sonlandırılıyor...")
break
elif (işlem == "1"):
kumanda.tv_ac()
elif (işlem == "2"):
kumanda.tv_kapat()
elif (işlem == "3"):
kumanda.ses_ayarları()
elif (işlem == "4"):
kanal_isimleri = input("Kanal isimlerini ',' ile ayırarak girin:")
kanal_listesi = kanal_isimleri.split(",")
for eklenecekler in kanal_listesi:
kumanda.kanal_ekle(eklenecekler)
elif (işlem == "5"):
print("Kanal Sayısı:",len(kumanda))
elif (işlem == "6"):
kumanda.rastgele_kanal()
elif (işlem == "7"):
print(kumanda)
else:
print("Geçersiz İşlem......")
______________________________________________
Not Hesaplama
def not_hesapla(satır):
satır = satır[:-1]
liste = satır.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = not1 * (3/10) + not2 * (3/10) + not3 * (4/10)
if (son_not >= 90):
harf = "AA"
elif (son_not >= 85):
harf = "BA"
elif (son_not >= 80):
harf = "BB"
elif (son_not >= 75):
harf = "CB"
elif (son_not >= 70):
harf = "CC"
elif (son_not >= 65):
harf = "DC"
elif (son_not >= 60):
harf = "DD"
elif (son_not >= 55):
harf = "FD"
else:
harf = "FF"
return isim + "------------------> " + harf + "\n"
with open("dosya.txt","r",encoding= "utf-8") as file:
eklenecekler_listesi = []
for i in file:
eklenecekler_listesi.append(not_hesapla(i))
with open("notlar.txt","w",encoding="utf-8") as file2:
for i in eklenecekler_listesi:
file2.write(i)
______________________________________________