Python Algoritma Geliştirme (Yeniler İçin) #2 (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 1. Konusu

Python'da Henüz Yeniyseniz
Kurcalayarak Algoritmanızı Geliştirmenize Yarayacak Bazı Programları Sizlere Sunuyorum

Dosya İşlemleri
Kütüphane
Kütüphane Programı Projesi
Decorator
Generator
İterator
Datetime Modülü
Os Modülü

______________________________________________

Dosya İşlemleri


class Dosya():

def __init__(self):

with open("metin.txt","r",encoding="utf-8") as file:

dosya_icerigi = file.read()

kelimeler = dosya_icerigi.split()
self.sade_kelimeler = list()

for i in kelimeler:
i = i.strip("\n")

i = i.strip(" ")
i = i.strip(".")
i = i.strip(",")

self.sade_kelimeler.append(i)
def tum_kelimeler(self):

kelimeler_kümesi = set()

for i in self.sade_kelimeler:
kelimeler_kümesi.add(i)

print("Tüm kelimeler........")

for i in kelimeler_kümesi:

print(i)

print("********************************")


def kelime_frekansı(self):

kelime_sözlük = dict()


for i in self.sade_kelimeler:

if (i in kelime_sözlük):
kelime_sözlük += 1

else:
kelime_sözlük = 1

for kelime,sayı in kelime_sözlük.items():

print("{} kelimesi {} defa geçiyor....".format(kelime,sayı))

print("--------------------------------------------------")






dosya = Dosya()

dosya.kelime_frekansı()


______________________________________________

Kütüphane

import sqlite3

import time

class Kitap():

def __init__(self,isim,yazar,yayınevi,tür,baskı):

self.isim = isim
self.yazar = yazar
self.yayınevi = yayınevi
self.tür = tür
self.baskı = baskı

def __str__(self):

return "Kitap İsmi: {}\nYazar: {}\nYayınevi: {}\nTür: {}\nBaskı: {}\n".format(self.isim,self.yazar,self.yayınevi,self.tür,self.baskı)


class Kütüphane():

def __init__(self):

self.baglanti_olustur()

def baglanti_olustur(self):

self.baglanti = sqlite3.connect("kütüphane.db")

self.cursor = self.baglanti.cursor()

sorgu = "Create Table If not exists kitaplar (isim TEXT,yazar TEXT,yayınevi TEXT,tür TEXT,baskı INT)"

self.cursor.execute(sorgu)

self.baglanti.commit()
def baglantiyi_kes(self):
self.baglanti.close()

def kitapları_goster(self):

sorgu = "Select * From kitaplar"

self.cursor.execute(sorgu)

kitaplar = self.cursor.fetchall()

if (len(kitaplar) == 0):
print("Kütüphanede kitap bulunmuyor...")
else:
for i in kitaplar:

kitap = Kitap(i[0],i[1],i[2],i[3],i[4])
print(kitap)

def kitap_sorgula(self,isim):

sorgu = "Select * From kitaplar where isim = ?"

self.cursor.execute(sorgu,(isim,))

kitaplar = self.cursor.fetchall()

if (len(kitaplar) == 0):
print("Böyle bir kitap bulunmuyor.....")
else:
kitap = Kitap(kitaplar[0][0],kitaplar[0][1],kitaplar[0][2],kitaplar[0][3],kitaplar[0][4])

print(kitap)
def kitap_ekle(self,kitap):

sorgu = "Insert into kitaplar Values(?,?,?,?,?)"

self.cursor.execute(sorgu,(kitap.isim,kitap.yazar,kitap.yayınevi,kitap.tür,kitap.baskı))

self.baglanti.commit()

def kitap_sil(self,isim):

sorgu = "Delete From kitaplar where isim = ?"

self.cursor.execute(sorgu,(isim,))

self.baglanti.commit()

def baskı_yükselt(self,isim):

sorgu = "Select * From kitaplar where isim = ?"

self.cursor.execute(sorgu,(isim,))


kitaplar = self.cursor.fetchall()

if (len(kitaplar) == 0):
print("Böyle bir kitap bulunmuyor...")
else:
baskı = kitaplar[0][4]

baskı += 1

sorgu2 = "Update kitaplar set baskı = ? where isim = ?"

self.cursor.execute(sorgu2,(baskı,isim))

self.baglanti.commit()

______________________________________________

Kütüphane Programı Proje

from kütüphane import *

print("""***********************************

Kütüphane Programına Hoşgeldiniz.

İşlemler;

1. Kitapları Göster

2. Kitap Sorgulama

3. Kitap Ekle

4. Kitap Sil

5. Baskı Yükselt

Çıkmak için 'q' ya basın.
***********************************""")

kütüphane = Kütüphane()

while True:
işlem = input("Yapacağınız İşlem:")

if (işlem == "q"):
print("Program Sonlandırılıyor.....")
print("Yine bekleriz....")
break
elif (işlem == "1"):
kütüphane.kitapları_goster()

elif (işlem == "2"):
isim = input("Hangi kitabı istiyorsunuz ? ")
print("Kitap Sorgulanıyor...")
time.sleep(2)

kütüphane.kitap_sorgula(isim)

elif (işlem == "3"):
isim = input("İsim:")
yazar = input("Yazar:")
yayınevi = input("Yayınevi:")
tür = input("Tür:")
baskı = int(input("Baskı"))

yeni_kitap = Kitap(isim,yazar,yayınevi,tür,baskı)

print("Kitap ekleniyor....")
time.sleep(2)

kütüphane.kitap_ekle(yeni_kitap)
print("Kitap Eklendi....")


elif (işlem == "4"):
isim = input("Hangi kitabı silmek istiyorsunuz ?")

cevap = input("Emin misiniz ? (E/H)")
if (cevap == "E"):
print("Kitap Siliniyor...")
time.sleep(2)
kütüphane.kitap_sil(isim)
print("Kitap silindi....")


elif (işlem == "5"):
isim = input("Hangi kitabın baskısını yükseltmek istiyorsunuz ?")
print("Baskı yükseltiliyor....")
time.sleep(2)
kütüphane.baskı_yükselt(isim)
print("Baskı yükseltildi....")

else:
print("Geçersiz İşlem...")

______________________________________________

Decorator

def ekstra(fonk):

def wrapper(sayılar):
çiftler_toplamı = 0
çift_sayılar = 0
tekler_toplamı = 0
tek_sayılar = 0

for sayı in sayılar:

if (sayı % 2 == 0):

çiftler_toplamı += sayı
çift_sayılar += 1
else:
tekler_toplamı += sayı
tek_sayılar += 1
print("Teklerin Ortalaması:",tekler_toplamı / tek_sayılar)

print("Çiftlerin Ortalaması:",çiftler_toplamı/ çift_sayılar)

fonk(sayılar)
return wrapper

@ekstra
def ortalamabul(sayılar):

toplam = 0

for sayı in sayılar:
toplam += sayı
print("Genel Ortalama:",toplam/len(sayılar))


ortalamabul([1,2,3,4,34,60,63,32,100,105])

______________________________________________

Generator

def fibonacci():

a = 1
b = 1
yield a
yield b

while True:

a,b = b, a+b

yield b

for sayı in fibonacci():

if (sayı > 100000):
break
print(sayı)

______________________________________________

İterator

class Kuvvet3():
def __init__(self,max = 0):

self.max = max
self.kuvvet = 0

def __iter__(self):

return self
def __next__(self):
if (self.kuvvet <= self.max):
sonuc = 3 ** self.kuvvet

self.kuvvet += 1

return sonuc
else:
self.kuvvet = 0
raise StopIteration


kuvvet = Kuvvet3(6)

for i in kuvvet:
print(i)

for j in kuvvet:
print(j)

______________________________________________

Datetime Modülü

from datetime import datetime
import locale

locale.setlocale(locale.LC_ALL,"")


tarih = datetime(2019,12,1)

şu_an = datetime.now()


print(tarih - şu_an)

______________________________________________

Os Modülü

import os
from datetime import datetime


for klasör_yolu,klasör_isimleri,dosya_isimler in os.walk("C:/Users/user/Desktop"):
for i in klasör_isimleri:
if (i.startswith("kr")):
print(i)







#from datetime import datetime

# print(dir(os))

# print(os.getcwd())

# os.chdir("C:/Users/user/Desktop/")


# print(os.getcwd())


# print(os.listdir())

#os.mkdir("Deneme1")

#os.makedirs("Deneme2/Deneme3")

#os.rmdir("Deneme2/Deneme3")

# os.rename("Deneme1","Deneme2")
# os.removedirs("Deneme2/Deneme3")

# os.rename("test.txt","test2.txt")

# print(os.stat("test2.txt"))

# degistirilme = os.stat("test2.txt").st_mtime

# print(datetime.fromtimestamp(degistirilme))


"""for klasör_yolu,klasör_isimleri,dosya_isimleri in os.walk("C:/Users/user/Desktop"):


print("Current Path",klasör_yolu)
print("Directories",klasör_isimleri)
print("Dosyalar",dosya_isimleri)
print("**********************************")"""


______________________________________________

Mail Gönderme

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import sys

mesaj = MIMEMultipart()

mesaj["From"] = "yokboylehesap@gmail.c0m"

mesaj["To"] = "yokboylehesap@gmail.c0m"

mesaj["Subject"] = "Smtp Mail Gönderme"


yazi = """

Smtp ile mail gönderiyorum.

Mustafa Murat Coşkun


"""


mesaj_govdesi = MIMEText(yazi,"plain")

mesaj.attach(mesaj_govdesi)

try:
mail = smtplib.SMTP("smtp.gmail.com",587)

mail.ehlo()

mail.starttls()

mail.login("","")

mail.sendmail(mesaj["From"],mesaj["To"],mesaj.as_string())

print("Mail Başarıyla Gönderildi....")

mail.close()

except:
sys.stderr.write("Bir sorun oluştu!")
sys.stderr.flush()


______________________________________________
 

Users who are viewing this thread

Top