Python Algoritma Geliştirme (Yeniler İçin) #1 (1 Viewer)

Akifcan Hür 

☾★ T'ÜRK ☾★
Joined
Mar 4, 2018
Credits
0
Rating - 100%
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ü​


______________________________________________
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)

______________________________________________






 

Kare 

Kare Kurt
Joined
Jun 27, 2017
Credits
167
Rating - 0%
eline sağlık reis eline sağlıkta o ikinci dereceden denklemi görmeseydim iyiydi matematik quizinde ağzıma sıçtı :(
 

Users who are viewing this thread

Top