├── çalıştır.py ├── numpy1.py ├── ilkmodülüm.py ├── python_cheat_sheet.pdf ├── dahili.py ├── veribilimi.py ├── name.py ├── matematikmodülü.py ├── filmsitesi.py ├── deneme.py ├── nesne.py ├── basitşifreleme.py ├── kahvemakinesi.py ├── hesapmakinesi.py ├── şifremiunuttum.py ├── filmler.py ├── filmkataloğu.py ├── kullanıcıkayıt.py ├── sözlük.py ├── kullanicisistemi.py ├── şifreleme.py ├── hastane.py ├── chat.py ├── mailservisi.py └── README.md /çalıştır.py: -------------------------------------------------------------------------------- 1 | import name 2 | 3 | -------------------------------------------------------------------------------- /numpy1.py: -------------------------------------------------------------------------------- 1 | import numpy 2 | 3 | numpy.sqrt([3-5j]) -------------------------------------------------------------------------------- /ilkmodülüm.py: -------------------------------------------------------------------------------- 1 | #Modül yazmak 2 | 3 | def karşılama(isim): 4 | print("Hoşgeldin: " + isim) -------------------------------------------------------------------------------- /python_cheat_sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superknowa/python-3-sifirdan-programcilik-meslegine/HEAD/python_cheat_sheet.pdf -------------------------------------------------------------------------------- /dahili.py: -------------------------------------------------------------------------------- 1 | #Dahili Modüller 2 | 3 | from os import system 4 | from time import sleep 5 | 6 | 7 | sleep(5) 8 | system("cls") 9 | -------------------------------------------------------------------------------- /veribilimi.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | liste_1= [1,2,3,4,5] 4 | 5 | nmp_liste= np.array([1,2,3,4,5]) 6 | 7 | 8 | print(liste_1) 9 | print(nmp_liste) -------------------------------------------------------------------------------- /name.py: -------------------------------------------------------------------------------- 1 | #__name__ Özel Değişkeni 2 | 3 | print("Modül adı: " + __name__) 4 | 5 | 6 | 7 | if __name__ == "__main__": 8 | print("Ben bu programda ev sahibiyim") -------------------------------------------------------------------------------- /matematikmodülü.py: -------------------------------------------------------------------------------- 1 | 2 | pi_sayısı= 3.14 3 | 4 | def toplama(a,b): 5 | return a+b 6 | 7 | def çıkarma(a,b): 8 | return a-b 9 | 10 | def çarpma(a,b): 11 | return a*b 12 | 13 | def bölme(a,b): 14 | return a/b -------------------------------------------------------------------------------- /filmsitesi.py: -------------------------------------------------------------------------------- 1 | yas_limiti = 18 2 | izleyicinin_yasi = int(input("Lütfen yaşınızı girin: ")) 3 | 4 | if izleyicinin_yasi80: 7 | print("Kalp hastalığınız varsa bu filmi izlemeniz önerilmez.") 8 | else: 9 | print("İyi seyirler") 10 | -------------------------------------------------------------------------------- /deneme.py: -------------------------------------------------------------------------------- 1 | duman = False 2 | alev = False 3 | hava_durumu = "Sakin" 4 | #Yangından eminsen Hava sıkıntılıysa 5 | if (duman==True and alev == True) and (hava_durumu == "Fırtınalı" or hava_durumu == "Karlı"): 6 | Alarm Çal 7 | Araç Gönder 8 | # yangından eminim hava sakin 9 | elif (duman == True and alev == True) and hava_durumu == "Sakin": 10 | Alarm Çal 11 | Söndürme Uçağı Yolla 12 | 13 | 14 | 15 | # Mantıksal Operatörler 16 | #and or not -------------------------------------------------------------------------------- /nesne.py: -------------------------------------------------------------------------------- 1 | #Property İle Salt Okunur Nitelik Oluşturma | Değiştirme | Silme 2 | 3 | class Kitap(): 4 | def __init__(self,başlık): 5 | self.__başlık = başlık 6 | 7 | @property 8 | def başlık(self): 9 | return self.__başlık 10 | 11 | @başlık.setter 12 | def başlık(self,yeni_başlık): 13 | self.__başlık= yeni_başlık 14 | print("Başlık güncellendi") 15 | 16 | @başlık.deleter 17 | def başlık(self): 18 | del self.__başlık 19 | print("__başlık niteliği silindi") 20 | 21 | 22 | 23 | k1= Kitap("Sefiller") 24 | 25 | del k1.başlık 26 | -------------------------------------------------------------------------------- /basitşifreleme.py: -------------------------------------------------------------------------------- 1 | harfler= "abcdefgğhıijklmnoöprsştuüvyz" 2 | 3 | kelime= "Hey" 4 | kelime= kelime.lower() 5 | 6 | 7 | şifreli_kelime= harfler[harfler.index(kelime[0]) + 1] + harfler[harfler.index(kelime[1]) + 1] + harfler[harfler.index(kelime[2]) + 1] 8 | 9 | 10 | print(kelime[0] + "------>" + harfler[harfler.index(kelime[0])+1]) 11 | print(kelime[1] + "------>" + harfler[harfler.index(kelime[1])+1]) 12 | print(kelime[2] + "------>" + harfler[harfler.index(kelime[2])+1]) 13 | 14 | 15 | print(kelime," kelimesinin şifreli hali:", şifreli_kelime) 16 | 17 | 18 | 19 | 20 | 21 | 22 | şifresi_kırılmış_hali= harfler[harfler.index(şifreli_kelime[0]) - 1] + harfler[harfler.index(şifreli_kelime[1]) - 1] + harfler[harfler.index(şifreli_kelime[2]) - 1] 23 | 24 | print(şifreli_kelime[0] + "------>" + harfler[harfler.index(şifreli_kelime[0])-1]) 25 | print(şifreli_kelime[1] + "------>" + harfler[harfler.index(şifreli_kelime[1])-1]) 26 | print(şifreli_kelime[2] + "------>" + harfler[harfler.index(şifreli_kelime[2])-1]) 27 | 28 | 29 | 30 | print(şifreli_kelime," kelimesinin şifresi çözülmüş hali:", şifresi_kırılmış_hali) -------------------------------------------------------------------------------- /kahvemakinesi.py: -------------------------------------------------------------------------------- 1 | print(""" 2 | 3 | Seçiminiz nedir? 4 | [1] Filtre Kahve 5 | [2] Espresso 6 | [3] Sıcak Çikolata 7 | [4] Mocha 8 | 9 | 10 | """) 11 | 12 | seker = input("Şeker kullanıyor musunuz?: ") 13 | secim = int(input("Seçiminizi girin: ")) 14 | 15 | if seker: 16 | if secim == 1: 17 | if seker == "evet": 18 | print("Şeker Atılıyor") 19 | elif seker == "hayır": 20 | print("Şeker Atılmadı") 21 | print("Filtre kahveniz hazırlanıyor.") 22 | elif secim == 2: 23 | if seker == "evet": 24 | print("Şeker Atılıyor") 25 | elif seker == "hayır": 26 | print("Şeker Atılmadı") 27 | print("Espressonuz hazırlanıyor.") 28 | elif secim == 3: 29 | if seker == "evet": 30 | print("Şeker Atılıyor") 31 | elif seker == "hayır": 32 | print("Şeker Atılmadı") 33 | print("Sıcak çikolatanız.") 34 | elif secim == 4: 35 | if seker == "evet": 36 | print("Şeker Atılıyor") 37 | elif seker == "hayır": 38 | print("Şeker Atılmadı") 39 | print("Mochanız hazırlanıyor.") 40 | else: 41 | print("Menüde olmayan bir numara girdiniz.") 42 | else: 43 | print("Şeker tercihi girilmemiş") 44 | -------------------------------------------------------------------------------- /hesapmakinesi.py: -------------------------------------------------------------------------------- 1 | #Hesap Makinesi 2 | 3 | secenek= """ 4 | 5 | [1] Toplama [2] Çıkarma [3] Çarpma [4] Bölme [5] Üs Alma 6 | 7 | 8 | """ 9 | print(secenek) 10 | 11 | secenek= int(input("Seçiminizi yapın: ")) 12 | sayılar= input("İşlem yapılacak sayıları aralarında birer boşluk bırakarak girin: ") 13 | sayılar_bölünmüş= sayılar.split(" ") 14 | 15 | if secenek == 1: 16 | ilk_sayı= float(sayılar_bölünmüş[0]) 17 | ikinci_sayı= float(sayılar_bölünmüş[1]) 18 | 19 | print("{} + {} = {}".format(ilk_sayı,ikinci_sayı,ilk_sayı + ikinci_sayı)) 20 | 21 | elif secenek == 2: 22 | ilk_sayı= float(sayılar_bölünmüş[0]) 23 | ikinci_sayı= float(sayılar_bölünmüş[1]) 24 | 25 | print("{} - {} = {}".format(ilk_sayı,ikinci_sayı,ilk_sayı - ikinci_sayı)) 26 | 27 | elif secenek == 3: 28 | ilk_sayı= float(sayılar_bölünmüş[0]) 29 | ikinci_sayı= float(sayılar_bölünmüş[1]) 30 | 31 | print("{} * {} = {}".format(ilk_sayı,ikinci_sayı,ilk_sayı * ikinci_sayı)) 32 | 33 | elif secenek == 4: 34 | ilk_sayı= float(sayılar_bölünmüş[0]) 35 | ikinci_sayı= float(sayılar_bölünmüş[1]) 36 | 37 | print("{} / {} = {}".format(ilk_sayı,ikinci_sayı,ilk_sayı / ikinci_sayı)) 38 | 39 | elif secenek == 5: 40 | ilk_sayı= float(sayılar_bölünmüş[0]) #Taban 41 | ikinci_sayı= int(sayılar_bölünmüş[1]) #Kuvvet 42 | 43 | print("{} ** {} = {}".format(ilk_sayı,ikinci_sayı,ilk_sayı ** ikinci_sayı)) 44 | else: 45 | print("Hatalı bir seçim yaptınız") 46 | -------------------------------------------------------------------------------- /şifremiunuttum.py: -------------------------------------------------------------------------------- 1 | #====Unutulmuş Şifreyi Mail Gönderen Uygulama====== 2 | import smtplib 3 | from email.mime.text import MIMEText 4 | from email.mime.multipart import MIMEMultipart 5 | from datetime import datetime 6 | 7 | def şifreyi_getir(kullanıcı_adı): 8 | dosya= open("kullanıcılar.txt","r") 9 | satırlar= dosya.readlines() 10 | 11 | for kullanıcı in satırlar: 12 | bölünmüş= kullanıcı.split() 13 | k_adı= bölünmüş[0] 14 | şifre= bölünmüş[1] 15 | mail= bölünmüş[2] 16 | if kullanıcı_adı == k_adı: 17 | şifreyi_mail_gönder(kullanıcı_adı=kullanıcı_adı,mail=mail,şifre=şifre) 18 | 19 | 20 | def şifreyi_mail_gönder(kullanıcı_adı,mail,şifre): 21 | 22 | gönderici_maili= "testerjoe1111@gmail.com" 23 | mesaj_içeriği= """ 24 | 25 | Merhabalar {kullanıcı_adı}; 26 | Şifrenizi unutmuşsunuz ve {tarih} tarihinde mailinize gönderilmesini talep ettiniz. 27 | 28 | Şifreniz: {şifre} 29 | 30 | 31 | """ 32 | 33 | mesaj= MIMEMultipart() 34 | mesaj["Subject"]= "Şifreniz Gönderildi" 35 | mesaj["From"]= gönderici_maili 36 | mesaj["To"]= mail 37 | 38 | tarih_bugün= datetime.now() 39 | 40 | mesaj_formatlanmış= mesaj_içeriği.format(kullanıcı_adı=kullanıcı_adı,tarih=tarih_bugün.strftime("%d/%m/%Y %H:%M:%S"),şifre=şifre) 41 | 42 | mesaj.attach(MIMEText(mesaj_formatlanmış,"plain")) 43 | 44 | 45 | mail_servisi= smtplib.SMTP("smtp.gmail.com",587) 46 | mail_servisi.ehlo() 47 | mail_servisi.starttls() 48 | mail_servisi.login("testerjoe1111@gmail.com","deneme1234") 49 | mail_servisi.sendmail(gönderici_maili,mail,mesaj.as_string()) 50 | mail_servisi.quit() 51 | print("Mailiniz gönderildi.") 52 | 53 | 54 | 55 | if __name__ == "__main__": 56 | şifreyi_getir("pythoncı") -------------------------------------------------------------------------------- /filmler.py: -------------------------------------------------------------------------------- 1 | filmler= { 2 | 3 | "Kara Korsanın Laneti":{"Yapım Yılı":1957,"Imdb":8.2,"Tür":"Korku"}, 4 | "Sineğin İntikamı":{"Yapım Yılı":2957,"Imdb":1.2,"Tür":"Belgesel"} 5 | 6 | } 7 | 8 | 9 | def filmEkle(): 10 | film_adı = input("Film adı girin: ") 11 | global filmler 12 | 13 | if film_adı: 14 | yapım_yılı = input("Yapım yılını girin: ") 15 | imdb = input("İmdb puanını girin: ") 16 | film_türü = input("Film türünü girin: ") 17 | 18 | filmler[film_adı]= {"Yapım Yılı":yapım_yılı,"Imdb":imdb,"Tür":film_türü} 19 | 20 | print("Film başarıyla eklendi") 21 | else: 22 | print("Film adı boş bırakılamaz.") 23 | 24 | 25 | 26 | def filmSil(): 27 | film_adı = input("Film adı girin: ") 28 | if film_adı: 29 | 30 | filmler.pop(film_adı) 31 | print("Film başarıyla silindi") 32 | 33 | else: 34 | print("Film adı boş bırakılamaz.") 35 | 36 | 37 | 38 | def filmGetir(): 39 | aranan_film_adı= input("Aradığını filmin adını girin: ") 40 | if aranan_film_adı in filmler.keys(): 41 | film = filmler.get(aranan_film_adı) 42 | yapım_yılı= film.get("Yapım Yılı","Yapım yılı girilmemiş") 43 | imdb= film.get("Imdb","Imdb puanı girilmemiş") 44 | film_türü= film.get("Tür","Film türü girilmemiş") 45 | 46 | print("Film adı: {} Yapım Yılı: {} Imdb: {} Tür: {}".format(aranan_film_adı,yapım_yılı,imdb,film_türü)) 47 | else: 48 | print("Film mevcut değil") 49 | 50 | 51 | def filmleriListele(): 52 | for film in filmler: 53 | film_adı = film 54 | yapım_yılı= filmler[film_adı].get("Yapım Yılı","Yapım yılı girilmemiş") 55 | imdb= filmler[film_adı].get("Imdb","Imdb puanı girilmemiş") 56 | film_türü= filmler[film_adı].get("Tür","Film türü girilmemiş") 57 | print("Film adı: {} Yapım Yılı: {} Imdb: {} Tür: {}".format(film_adı,yapım_yılı,imdb,film_türü)) 58 | print("="*80) 59 | input("Devam etmek için bir tuşa basın.") 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | while True: 68 | 69 | print(""" 70 | 71 | [1] Tüm filmleri listele 72 | [2] Film ara 73 | [3] Film ekle 74 | [4] Film sil 75 | 76 | 77 | """) 78 | 79 | secenek= int(input("Seçiminizi yapın: ")) 80 | if secenek == 1: 81 | filmleriListele() 82 | elif secenek == 2: 83 | filmGetir() 84 | elif secenek == 3: 85 | filmEkle() 86 | elif secenek == 4: 87 | filmSil() -------------------------------------------------------------------------------- /filmkataloğu.py: -------------------------------------------------------------------------------- 1 | #Film Kataloğu(Detaylı Arama) 2 | from os import system 3 | 4 | filmler= [ 5 | ("Kara Korsanın Laneti",1957,8.2,"Korku"), 6 | ("Sineğin İntikamı",2957,1.2,"Belgesel"), 7 | ("Yılan Rüzgarı",1997,9.2,"Romantik") 8 | ] 9 | 10 | 11 | def filmleriListele(filtre=None,değer=None): 12 | system("cls") 13 | print("\n") 14 | for film in filmler: 15 | if not filtre and not değer: 16 | print("Filmin adı: {}({})-----Imdb: {}-------Tür: {}".format(film[0],film[1],film[2],film[3])) 17 | elif filtre == "Film Adı": 18 | if değer.lower() == film[0].lower(): 19 | print("Filmin adı: {}({})-----Imdb: {}-------Tür: {}".format(film[0],film[1],film[2],film[3])) 20 | elif filtre == "Yapım Yılı": 21 | if değer == film[1]: 22 | print("Filmin adı: {}({})-----Imdb: {}-------Tür: {}".format(film[0],film[1],film[2],film[3])) 23 | elif filtre == "Imdb": 24 | if değer == film[2]: 25 | print("Filmin adı: {}({})-----Imdb: {}-------Tür: {}".format(film[0],film[1],film[2],film[3])) 26 | elif filtre == "Tür": 27 | if değer.lower() == film[3].lower(): 28 | print("Filmin adı: {}({})-----Imdb: {}-------Tür: {}".format(film[0],film[1],film[2],film[3])) 29 | print("\n") 30 | input("Devam etmek için bir tuşa basın") 31 | 32 | 33 | 34 | menü = """ 35 | 36 | 37 | Filmi hangi kıstasa göre aramak istersiniz? 38 | 39 | [1] Film Adı 40 | [2] Yapım Yılı 41 | [3] Imdb Puanı 42 | [4] Türü 43 | [5] Hepsini Getir 44 | [0] Çıkış Yap 45 | 46 | 47 | """ 48 | 49 | while True: 50 | 51 | print(menü) 52 | 53 | seçim= int(input("Seçiminizi yapın: ")) 54 | 55 | 56 | if seçim == 1: 57 | mesaj = "Film adını girin: " 58 | filtre = "Film Adı" 59 | elif seçim == 2: 60 | mesaj = "Yapım yılını girin: " 61 | filtre = "Yapım Yılı" 62 | elif seçim == 3: 63 | mesaj = "Imdb puanını girin: " 64 | filtre = "Imdb" 65 | elif seçim == 4: 66 | mesaj = "Film türünü girin: " 67 | filtre = "Tür" 68 | 69 | 70 | if seçim == 1 or seçim == 4: 71 | değer = input(mesaj) 72 | filmleriListele(filtre,değer) 73 | elif seçim == 2: 74 | değer = int(input(mesaj)) 75 | filmleriListele(filtre,değer) 76 | elif seçim == 3: 77 | değer = float(input(mesaj)) 78 | filmleriListele(filtre,değer) 79 | elif seçim == 5: 80 | filmleriListele() 81 | elif seçim == 0: 82 | quit() -------------------------------------------------------------------------------- /kullanıcıkayıt.py: -------------------------------------------------------------------------------- 1 | #Kullanıcı Kayıt/Giriş Uygulaması 2 | import os,time 3 | 4 | çevrimiçi_kullanıcı = False 5 | 6 | def giriş_yap(): 7 | global çevrimiçi_kullanıcı 8 | kullanıcı_adı= input("Kullanıcı adınızı girin: ") 9 | şifre= input("Şifrenizi girin: ") 10 | 11 | dosya= open("kullanicilar.txt","r") 12 | satırlar = dosya.readlines() 13 | çevrimiçi_kullanıcı = False 14 | for kullanıcı in satırlar: 15 | bölünmüş = kullanıcı.split() 16 | bölünmüş_k_adı= bölünmüş[0] 17 | bölünmüş_şifre= bölünmüş[1] 18 | if kullanıcı_adı == bölünmüş_k_adı and şifre == bölünmüş_şifre: 19 | çevrimiçi_kullanıcı= kullanıcı_adı 20 | if çevrimiçi_kullanıcı: 21 | print("Hoşgeldin: ",kullanıcı_adı) 22 | else: 23 | print("Kullanıcı adı veya şifre hatalı!") 24 | input("Devam etmek için bir tuşa basın") 25 | 26 | 27 | def kayıt_ol(): 28 | kullanıcı_adı= input("Kullanıcı adı girin: ") 29 | mail= input("Mail adresinizi girin: ") 30 | if not kontrol(kullanıcı_adı): 31 | #Kullanıcı adı müsait değilse 32 | print("=========Kullanıcı Adı Zaten Mevcut===========") 33 | time.sleep(1) 34 | os.system(temizle) 35 | return kayıt_ol() 36 | şifre= input("Şifrenizi girin: ") 37 | şifre_o= input("Şifrenizi tekrar girin: ") 38 | 39 | if şifre != şifre_o: 40 | print("======Şifreler Eşleşmedi=====") 41 | time.sleep(1) 42 | os.system(temizle) 43 | return kayıt_ol() 44 | 45 | dosya = open("kullanicilar.txt","a") 46 | dosya.write(kullanıcı_adı) 47 | dosya.write(" ") 48 | dosya.write(şifre) 49 | dosya.write(" ") 50 | dosya.write(mail) 51 | dosya.write("\n") 52 | dosya.close() 53 | print("Kullanıcı kaydedildi.") 54 | input("Devam etmek için bir tuşa basın") 55 | 56 | 57 | def kontrol(kullanıcı_adı): 58 | try: 59 | if kullanıcı_adı not in open("kullanicilar.txt","r").read(): 60 | return True 61 | else: 62 | return False 63 | except FileNotFoundError: 64 | return True 65 | 66 | 67 | temizle = ("cls" if os.name == "nt" else "clear") 68 | 69 | 70 | if __name__ == "__main__": 71 | while True: 72 | os.system(temizle) 73 | print(""" 74 | 75 | [1] Kayıt Ol 76 | [2] Giriş Yap 77 | 78 | """) 79 | 80 | seçim= int(input("Seçiminizi yapın: ")) 81 | if seçim == 1: 82 | os.system(temizle) 83 | kayıt_ol() 84 | elif seçim == 2: 85 | os.system(temizle) 86 | giriş_yap() 87 | 88 | -------------------------------------------------------------------------------- /sözlük.py: -------------------------------------------------------------------------------- 1 | #İngilizce-Türkçe Sözlük 2 | import os 3 | 4 | 5 | 6 | kelimeler = { 7 | 8 | 9 | "get":["Almak","Edinmek","Olmak","Elde etmek"], 10 | "break":["Mola","Ara","Kırılma","Fren"], 11 | "winner":["Kazanan","Galip","Birinci"] 12 | 13 | 14 | 15 | } 16 | 17 | def kelimeEkle(kelime,kelimeler): 18 | if kontrol(kelime,kelimeler): 19 | mevcut_anlamlar = set(kelimeler[kelime]) 20 | yeni_giriş= input("Kelime zaten mevcut. Girdiğiniz kelimenin kayıtlı anlamları: {}\n Yeni bir anlam girmek ister misiniz?(E/H)".format(mevcut_anlamlar)) 21 | if yeni_giriş.lower()=="e": 22 | yeni_anlamlar= input("Girmek istediğiniz anlamları aralarına virgül koyarak yazın: ") 23 | yeni_anlamlar_bölünmüş= set(yeni_anlamlar.split(",")) 24 | kelimeler[kelime]= list(mevcut_anlamlar | yeni_anlamlar_bölünmüş) 25 | print("Girdiğiniz anlamlar kaydedildi. Anlamlar listesinin son hali: ",kelimeler[kelime]) 26 | elif yeni_giriş.lower() == "h": 27 | pass 28 | else: 29 | yeni_anlamlar= input("Girmek istediğiniz anlamları aralarına virgül koyarak yazın: ") 30 | yeni_anlamlar_bölünmüş= set(yeni_anlamlar.split(",")) 31 | kelimeler[kelime]= list(yeni_anlamlar_bölünmüş) 32 | print("Girdiğiniz anlamlar kaydedildi. Anlamlar listesinin son hali: ",kelimeler[kelime]) 33 | input("Devam etmek için bir tuşa basın.") 34 | 35 | 36 | 37 | def kelimeÇevir(kelime,kelimeler): 38 | if kontrol(kelime,kelimeler): 39 | print("{} kelimesinin anlamları ".format(kelime),end=": ") 40 | print(*kelimeler[kelime]) 41 | else: 42 | print("Girdiğiniz kelime mevcut değildir.") 43 | input("Devam etmek için bir tuşa basın.") 44 | 45 | 46 | 47 | def kontrol(kelime,kelimeler): 48 | if kelime in kelimeler: 49 | return True 50 | else: 51 | return False 52 | 53 | 54 | 55 | def kelimeleriListele(): 56 | for no,kelime in enumerate(kelimeler,1): 57 | print("{}.{}".format(no,kelime)) 58 | input("Devam etmek için bir tuşa basın.") 59 | 60 | 61 | 62 | 63 | secenekler= """ 64 | 65 | [1] Kelime Ekle 66 | [2] Kelime Çevir 67 | [3] Kelimeleri Listele 68 | 69 | 70 | """ 71 | 72 | while True: 73 | temizle= ("cls" if os.name == "nt" else "clear") 74 | os.system(temizle) 75 | print(secenekler) 76 | secenek= int(input("Seçiminizi yapın: ")) 77 | 78 | if secenek == 1: 79 | kelime= input("Eklenecek ingilizce kelimeyi girin: ") 80 | kelimeEkle(kelime,kelimeler) 81 | elif secenek == 2: 82 | kelime= input("Anlamını öğrenmek istediğiniz kelimeyi girin: ") 83 | kelimeÇevir(kelime,kelimeler) 84 | elif secenek == 3: 85 | kelimeleriListele() 86 | -------------------------------------------------------------------------------- /kullanicisistemi.py: -------------------------------------------------------------------------------- 1 | import os,time 2 | kullanicilar = dict() 3 | kullanicilar = {"tosiba":123} 4 | temizle = ("cls" if os.name == "nt" else "clear") 5 | cevrimici_kullanici = False 6 | def kayit_ol(): 7 | kullanici_adi = input("Kullanıcı adı girin: ") 8 | os.system(temizle) 9 | mail = input("Mailinizi girin: ") 10 | os.system(temizle) 11 | 12 | if not kontrol(kullanici_adi): 13 | print("====Kullanıcı adı mevcut!====") 14 | time.sleep(1) 15 | os.system(temizle) 16 | return kayit_ol() 17 | 18 | sifre = input("Şifrenizi girin: ") 19 | sifre_o = input("Şifrenizi bir kez daha girin: ") 20 | 21 | 22 | if sifre != sifre_o: 23 | print("====Şifreler eşleşmedi!====") 24 | time.sleep(1) 25 | os.system(temizle) 26 | return kayit_ol() 27 | 28 | dosya = open("kullanicilar.txt","a") 29 | dosya.write(kullanici_adi) 30 | dosya.write(" ") 31 | dosya.write(sifre) 32 | dosya.write(" ") 33 | dosya.write(mail) 34 | dosya.write("\n") 35 | dosya.close() 36 | print("Kullanıcı kaydedildi.") 37 | input() 38 | 39 | 40 | def kontrol(kullanici_adi): 41 | try: 42 | if kullanici_adi not in open("kullanicilar.txt","r").read(): 43 | return True 44 | else: 45 | return False 46 | except FileNotFoundError: 47 | return True 48 | 49 | 50 | def girisYap(): 51 | global cevrimici_kullanici 52 | kullanici_adi = input("Kullanıcı adınızı girin: ") 53 | sifre = input("Şifrenizi girin: ") 54 | 55 | dosya = open("kullanicilar.txt","r") 56 | satirlar = dosya.readlines() 57 | cevrimici_kullanici = False 58 | for kullanici in satirlar: 59 | bolunmus = kullanici.split() 60 | bolunmus_k_adi = bolunmus[0] 61 | bolunmus_sifre = bolunmus[1] 62 | if kullanici_adi == bolunmus_k_adi and sifre == bolunmus_sifre: 63 | cevrimici_kullanici = kullanici_adi 64 | 65 | if cevrimici_kullanici: 66 | print("Hoşgeldin: ",kullanici_adi) 67 | else: 68 | print("Kullanıcı adı veya şifre yanlış!") 69 | input("Devam etmek için bir tuşa basın.") 70 | 71 | 72 | if __name__== "__main__": 73 | while True: 74 | os.system(temizle) 75 | print(""" 76 | 77 | [1] Kayıt Ol 78 | [2] Giriş Yap 79 | 80 | """) 81 | secim = int(input("Seçiminizi yapın: ")) 82 | if secim == 1: 83 | os.system(temizle) 84 | kayit_ol() 85 | elif secim == 2: 86 | os.system(temizle) 87 | girisYap() 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | #Dosya işlemleri 100 | #On fly if yapısı* 101 | #import user defined module -------------------------------------------------------------------------------- /şifreleme.py: -------------------------------------------------------------------------------- 1 | #Kapsamlı Şifreleme Uygulaması 2 | 3 | import string 4 | import os 5 | 6 | alfabe= string.ascii_lowercase 7 | max_karakter= len(alfabe) 8 | 9 | temizle= ("cls" if os.name == "nt" else "clear") 10 | 11 | 12 | def seçenekler(): 13 | while True: 14 | os.system(temizle) 15 | seçenek= input("Ne yapmak istersin: ").lower() 16 | if seçenek in ("şifrele","şifreleme","şifreleme yap","şifreleme yapmak","şifreleme yapmak isterim"): 17 | şifreleme() 18 | elif seçenek in ("şifre çöz,şifreyi çöz"): 19 | şifre_çöz() 20 | else: 21 | print("Şifreleme yapmak için (%s) yazın, şifre çözmek için (%s) yazın." % ("şifrele","şifre çöz")) 22 | 23 | 24 | def şifreleme(): 25 | metin= input("Şifrelenecek metni girin: ").lower() 26 | şifreleme_anahtarı= şifrelemeAnahtarı() 27 | şifrelenmiş_metin= "" 28 | for karakter in metin: 29 | if karakter.isalpha(): 30 | karakter_sıra_no= ord(karakter) 31 | karakter_sıra_no += şifreleme_anahtarı 32 | 33 | if karakter_sıra_no > ord("z"): 34 | karakter_sıra_no -= max_karakter 35 | 36 | elif karakter_sıra_no < ord("a"): 37 | karakter_sıra_no += max_karakter 38 | 39 | şifreli_karakter= chr(karakter_sıra_no) 40 | şifrelenmiş_metin += şifreli_karakter 41 | 42 | else: 43 | şifrelenmiş_metin += karakter 44 | os.system(temizle) 45 | print("%s kelimesinin %d anahtarıyla şifrelenmiş hali %s" % (metin,şifreleme_anahtarı,şifrelenmiş_metin)) 46 | input("Devam etmek için bir tuşa basın") 47 | 48 | 49 | 50 | def şifre_çöz(): 51 | şifreli_metin= input("Çözülecek şifreli metni girin: ").lower() 52 | şifreleme_anahtarı= şifrelemeAnahtarı() 53 | çözülmüş_metin= "" 54 | for karakter in şifreli_metin: 55 | if karakter.isalpha(): 56 | karakter_sıra_no= ord(karakter) 57 | karakter_sıra_no -= şifreleme_anahtarı 58 | 59 | if karakter_sıra_no > ord("z"): 60 | karakter_sıra_no -= max_karakter 61 | 62 | elif karakter_sıra_no < ord("a"): 63 | karakter_sıra_no += max_karakter 64 | 65 | çözülmüş_karakter= chr(karakter_sıra_no) 66 | çözülmüş_metin += çözülmüş_karakter 67 | 68 | else: 69 | çözülmüş_metin += karakter 70 | os.system(temizle) 71 | print("%s şifreli metnin %d anahtarıyla çözülmüş hali %s" % (şifreli_metin,şifreleme_anahtarı,çözülmüş_metin)) 72 | input("Devam etmek için bir tuşa basın") 73 | 74 | 75 | 76 | def şifrelemeAnahtarı(): 77 | anahtar= int(input("Şifreleme anahtarı girin (1-%s):" % max_karakter)) 78 | if anahtar >=1 and anahtar <= max_karakter: 79 | return anahtar 80 | else: 81 | return 1 82 | 83 | 84 | 85 | if __name__ == "__main__": 86 | seçenekler() -------------------------------------------------------------------------------- /hastane.py: -------------------------------------------------------------------------------- 1 | #Hastane Randevu Sistemi 2 | from datetime import date 3 | 4 | 5 | class Hastane(): 6 | def __init__(self,adı,adresi,bölümler,doktorlar): 7 | self.__adı= adı 8 | self.__adresi= adresi 9 | self.__bölümler= bölümler 10 | self.__doktorlar= doktorlar 11 | self.__rezervasyonlar= [] 12 | 13 | def getAdı(self): 14 | return self.__adı 15 | 16 | def setAdı(self,yeni_ad): 17 | self.__adı= yeni_ad 18 | print("Hastane adı değiştirildi") 19 | 20 | def getAdresi(self): 21 | return self.__adresi 22 | 23 | def setAdresi(self,yeni_adres): 24 | self.__adresi= yeni_adres 25 | print("Hastane adresi değiştirildi") 26 | 27 | def getBölümler(self): 28 | print("=========Bölümlerimiz=========") 29 | for bölüm in self.__bölümler: 30 | print(""" 31 | 32 | Bölüm: {bölüm} 33 | 34 | """.format(bölüm=bölüm)) 35 | print("="*50) 36 | 37 | def bölümEkle(self,yeni_bölüm): 38 | self.__bölümler.append(yeni_bölüm) 39 | print("Yeni bölüm eklendi.") 40 | 41 | def getDoktorlar(self): 42 | print("=========Doktorlarımız=========") 43 | for doktor in self.__doktorlar: 44 | print(""" 45 | 46 | İsim: {isim} 47 | Soyad: {soyad} 48 | Telefon: {telefon} 49 | Bölüm: {bölüm} 50 | 51 | """.format(isim=doktor.getİsim(),soyad=doktor.getSoyad(),telefon=doktor.getTelefon(),bölüm=doktor.getBölüm())) 52 | print("="*50) 53 | 54 | def doktorEkle(self,yeni_doktor): 55 | self.__doktorlar.append(yeni_doktor) 56 | print("Yeni doktor eklendi.") 57 | 58 | def rezervasyonYap(self,hasta,istenendoktor,istenentarih): 59 | müsaitlik= True 60 | for rezervasyon in self.__rezervasyonlar: 61 | listedeki_hasta= rezervasyon[0] 62 | listedeki_doktor= rezervasyon[1] 63 | listedeki_tarih= rezervasyon[2] 64 | 65 | if listedeki_doktor == istenendoktor and listedeki_tarih == istenentarih: 66 | print("Doktorumuz o tarihte müsait değildir.") 67 | müsaitlik= False 68 | if müsaitlik: 69 | self.__rezervasyonlar.append((hasta,istenendoktor,istenentarih)) 70 | print("Rezervasyon kaydı gerçekleşti.") 71 | 72 | 73 | def getRezervasyonlar(self): 74 | print("="*50) 75 | print("========Rezervasyonlar========") 76 | rez_sayısı= 0 77 | 78 | for rezervasyon in self.__rezervasyonlar: 79 | listedeki_hasta= rezervasyon[0] 80 | listedeki_doktor= rezervasyon[1] 81 | listedeki_tarih= rezervasyon[2] 82 | 83 | print("{hastaismi} {hastasoyadı} isimli hastanın {rez_tarihi} tarihinde Doktor {doktorismi} {doktorsoyadı} ile randevusu vardır.".format(hastaismi=listedeki_hasta.getİsim(),hastasoyadı=listedeki_hasta.getSoyad(),rez_tarihi=listedeki_tarih,doktorismi=listedeki_doktor.getİsim(),doktorsoyadı=listedeki_doktor.getSoyad())) 84 | print("="*50) 85 | rez_sayısı+=1 86 | if rez_sayısı == 0: 87 | print("Hiçbir rezervasyon yok.") 88 | 89 | 90 | 91 | class Birey(): 92 | def __init__(self,isim,soyad,telefon): 93 | self.__isim= isim 94 | self.__soyad= soyad 95 | self.__telefon= telefon 96 | 97 | def getİsim(self): 98 | return self.__isim 99 | 100 | def getSoyad(self): 101 | return self.__soyad 102 | 103 | def getTelefon(self): 104 | return self.__telefon 105 | 106 | 107 | 108 | class Doktor(Birey): 109 | 110 | doktor_sayısı= 0 111 | 112 | 113 | def __init__(self,isim,soyad,telefon,bölüm): 114 | super().__init__(isim,soyad,telefon) 115 | Doktor.doktor_sayısı_artır() 116 | self.__bölüm= bölüm 117 | 118 | def getBölüm(self): 119 | return self.__bölüm 120 | 121 | @classmethod 122 | def doktor_sayısı_artır(cls): 123 | cls.doktor_sayısı += 1 124 | 125 | class Hasta(Birey): 126 | pass 127 | 128 | 129 | 130 | d1= Doktor("Ali","Tosun","5425454","Kardiyoloji") 131 | d2= Doktor("Serhat","Kabak","545455","Dahiliye") 132 | d3= Doktor("Şenay","Sucu","54554554","Onkoloji") 133 | 134 | h1= Hasta("Pınar","Mersinli","554555") 135 | h2= Hasta("Halil","Kuru","5454545") 136 | 137 | bölümler= ["KBB","Cildiye","Dahiliye","Kardiyoloji"] 138 | 139 | hastane= Hastane("Özel Papatya","Merkez",bölümler,[d1,d2]) 140 | 141 | print("="*50) 142 | print("{} hastanesine hoş geldiniz.".format(hastane.getAdı())) 143 | 144 | #hastane.getBölümler() 145 | #hastane.bölümEkle("Onkoloji") 146 | #hastane.getBölümler() 147 | 148 | #hastane.getDoktorlar() 149 | #hastane.doktorEkle(d3) 150 | #hastane.getDoktorlar() 151 | 152 | hastane.getRezervasyonlar() 153 | 154 | hastane.rezervasyonYap(h1,d2,date.today()) 155 | hastane.rezervasyonYap(h2,d2,date.today()) 156 | 157 | 158 | hastane.getRezervasyonlar() 159 | 160 | print("Toplam doktor sayısı: ",Doktor.doktor_sayısı) 161 | 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /chat.py: -------------------------------------------------------------------------------- 1 | #Chat Uygulaması 2 | 3 | import kullanıcıkayıt 4 | from datetime import date 5 | 6 | 7 | 8 | 9 | 10 | def kişiselMenü(kullanıcı_adı): 11 | while kullanıcıkayıt.çevrimiçi_kullanıcı: 12 | print(""" 13 | 14 | [1] Arkadaş Listemi Getir 15 | [2] Arkadaş Ekle 16 | [3] Direk Mesaj Gönder 17 | [4] Mesaj Kutusu 18 | [5] Çıkış 19 | 20 | """) 21 | 22 | seçim= int(input("Seçiminizi girin: ")) 23 | 24 | if seçim == 1: 25 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 26 | arkadaşListesi(kullanıcı_adı) 27 | elif seçim == 2: 28 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 29 | arkadaş= input("Eklemek istediğiniz arkadaşınızın kullanıcı adını girin: ") 30 | arkadaşEkle(ben=kullanıcı_adı,arkadaş=arkadaş) 31 | elif seçim == 3: 32 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 33 | arkadaş= input("Mesajın gönderileceği arkadaşınızın kulanıcı adını yazın: ") 34 | mesaj= input("Mesajınızı yazın: ") 35 | mesajGönder(ben=kullanıcı_adı,arkadaş=arkadaş,mesaj=mesaj,tarih=date.today()) 36 | elif seçim == 4: 37 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 38 | mesajKutusu(kullanıcı_adı) 39 | elif seçim == 5: 40 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 41 | print("Çıkış yapılıyor...") 42 | kullanıcıkayıt.çevrimiçi_kullanıcı= False 43 | input("Kayıt menüsüne dönmek için bir tuşa basın") 44 | 45 | 46 | def mesajKutusu(kullanıcı_adı): 47 | try: 48 | mesajvar= False 49 | dosya= open("mesajlar.txt","r") 50 | satırlar= dosya.readlines() 51 | for mesaj in satırlar: 52 | bölünmüş= mesaj.split("||") 53 | gönderen= bölünmüş[0] 54 | alıcı= bölünmüş[1] 55 | mesaj= bölünmüş[2] 56 | tarih= bölünmüş[3] 57 | if kullanıcı_adı == gönderen or kullanıcı_adı == alıcı: 58 | print(""" 59 | 60 | Gönderen: {gönderici} Alıcı: {alıcı} 61 | 62 | Tarih: {gönderim_tarihi} 63 | 64 | Mesaj: {mesaj} 65 | 66 | """.format(gönderici=gönderen,alıcı=alıcı,gönderim_tarihi=tarih,mesaj=mesaj)) 67 | mesajvar= True 68 | print("="*80) 69 | if not mesajvar: 70 | print("Mesaj kutunuz boş") 71 | except FileNotFoundError: 72 | print("Hiç mesajınız yok üzülmeyin kimsenin mesajı yok zaten mesajlar dosyası bile yok.") 73 | input("Devam etmek için bir tuşa basın.") 74 | 75 | 76 | def mesajGönder(**kwargs): 77 | dosya= open("mesajlar.txt","a") 78 | dosya.write(kwargs["ben"].lower()) 79 | dosya.write("||") 80 | dosya.write(kwargs["arkadaş"].lower()) 81 | dosya.write("||") 82 | dosya.write(kwargs["mesaj"]) 83 | dosya.write("||") 84 | dosya.write(str(kwargs["tarih"])) 85 | dosya.write("\n") 86 | dosya.close() 87 | print("{ben} adlı kişi {arkadaş} adlı kullanıcıya mesaj gönderdi.".format(ben=kwargs["ben"].title(),arkadaş=kwargs["arkadaş"].title())) 88 | input("Devam etmek için bir tuşa basın.") 89 | 90 | 91 | def arkadaşEkle(**kwargs): 92 | 93 | dosya= open("arkadaşlıklar.txt","a") 94 | dosya.write(kwargs["ben"].lower()) 95 | dosya.write(" ") 96 | dosya.write(kwargs["arkadaş"].lower()) 97 | dosya.write("\n") 98 | dosya.close() 99 | print("{ben} isimli kişi {arkadaş} isimli kullanıcıyı arkadaş olarak ekledi.".format(ben=kwargs["ben"].title(),arkadaş=kwargs["arkadaş"].title())) 100 | input("Devam etmek için bir tuşa basın.") 101 | 102 | def arkadaşListesi(kullanıcı_adı): 103 | try: 104 | arkadaşvar= False 105 | dosya = open("arkadaşlıklar.txt","r") 106 | satırlar= dosya.readlines() 107 | for arkadaşlıklar in satırlar: 108 | bölünmüş= arkadaşlıklar.split() 109 | ark_1= bölünmüş[0] 110 | ark_2= bölünmüş[1] 111 | if kullanıcı_adı == ark_1: 112 | print(ark_2) 113 | arkadaşvar= True 114 | elif kullanıcı_adı == ark_2: 115 | print(ark_1) 116 | arkadaşvar= True 117 | if not arkadaşvar: 118 | print("Hiç arkadaşın yok ama üzülme senin de olacak.") 119 | except FileNotFoundError: 120 | print("Hiç arkadaşın yok üzülme bu programda kayıtlı kimsenin yok çünkü daha arkadaşlıklar dosyası bile yok") 121 | input("Devam etmek için bir tuşa basın.") 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | if __name__=="__main__": 131 | while True: 132 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 133 | print(""" 134 | 135 | [1] Kayıt Ol 136 | [2] Giriş Yap 137 | 138 | 139 | 140 | """) 141 | 142 | seçim= int(input("Seçiminizi girin: ")) 143 | 144 | if seçim == 1: 145 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 146 | kullanıcıkayıt.kayıt_ol() 147 | elif seçim == 2: 148 | kullanıcıkayıt.os.system(kullanıcıkayıt.temizle) 149 | kullanıcıkayıt.giriş_yap() 150 | 151 | 152 | if kullanıcıkayıt.çevrimiçi_kullanıcı: 153 | kişiselMenü(kullanıcıkayıt.çevrimiçi_kullanıcı) -------------------------------------------------------------------------------- /mailservisi.py: -------------------------------------------------------------------------------- 1 | #E-Posta Servisi Uygulaması 2 | 3 | from datetime import datetime 4 | import os,time 5 | 6 | 7 | 8 | class EPostaServisi(): 9 | def __init__(self,isim): 10 | self.__isim= isim 11 | self.__üyeler= [("Tarık","Demir","şakşuka@ultramail.com","abc123")] 12 | self.__gönderilmiş_mailler= [] 13 | 14 | def __str__(self): 15 | return self.__isim + " servisine hoş geldiniz." 16 | 17 | 18 | def üyeOl(self,isim,soyad,mail,şifre): 19 | if self.kontrol(mail): 20 | print("Mail serbest") 21 | yeni_üye= isim,soyad,mail,şifre 22 | self.__üyeler.append(yeni_üye) 23 | print("Kayıt gerçekleşti") 24 | input("Devam etmek için bir tuşa basın.") 25 | else: 26 | print("Bu mail zaten alınmış") 27 | input("Başka bir mail denemek için bir tuşa basın.") 28 | 29 | def girişYap(self,mail,şifre): 30 | if self.şifreKontrol(mail,şifre): 31 | print("Giriş Yapıldı") 32 | time.sleep(1) 33 | print("Kullanıcı menüsüne yönlendiriliyorsunuz...") 34 | time.sleep(1) 35 | self.kullanıcıMenüsü(mail) 36 | 37 | else: 38 | print("Mail veya şifre hatalı!") 39 | time.sleep(1) 40 | 41 | def kullanıcıMenüsü(self,mail): 42 | while True: 43 | os.system(temizle) 44 | print(""" 45 | 46 | [1] Mail Gönder [2] Mail Kutusuna Git [3] Çıkış Yap 47 | 48 | """) 49 | seçim= int(input("Seçiminizi girin: ")) 50 | 51 | if seçim == 1: 52 | self.mailGönder(mail) 53 | elif seçim == 2: 54 | self.mailKutusu(mail) 55 | elif seçim == 3: 56 | break 57 | 58 | def mailGönder(self,mail): 59 | alıcı= input("Alıcının mail adresini girin: ") 60 | başlık= input("Mail başlığını girin: ") 61 | mesaj= input("Mesajınızı yazın: ") 62 | yeni_mail= Mail(mail,alıcı,başlık,mesaj) 63 | self.__gönderilmiş_mailler.append(yeni_mail) 64 | print("Mail gönderildi") 65 | time.sleep(1) 66 | print("Sizi ana menüye yönlendiriyorum") 67 | time.sleep(1) 68 | 69 | def mailKutusu(self,mail): 70 | mail_var= False 71 | for m in self.__gönderilmiş_mailler: 72 | if m.getGönderici() == mail or m.getAlıcı() == mail: 73 | mail_var= True 74 | print(m) 75 | if not mail_var: 76 | print("Mail kutunuz boş") 77 | input("Devam etmek için bir tuşa basın.") 78 | 79 | 80 | def şifreKontrol(self,mail,şifre): 81 | for üye in self.__üyeler: 82 | kayıtlı_mail= üye[2] 83 | kayıtlı_şifre= üye[3] 84 | if kayıtlı_mail == mail and kayıtlı_şifre == şifre: 85 | return True 86 | return False 87 | 88 | 89 | def kontrol(self,mail): 90 | for üye in self.__üyeler: 91 | kayıtlı_mail= üye[2] 92 | if kayıtlı_mail == mail: 93 | return False 94 | return True 95 | 96 | 97 | 98 | class Mail(): 99 | def __init__(self,kimden,kime,başlık,mesaj): 100 | self.__kimden= kimden 101 | self.__kime= kime 102 | self.__başlık= başlık 103 | self.__mesaj= mesaj 104 | self.__tarih= datetime.now().strftime("%d/%m/%Y %H:%M:%S") 105 | 106 | def getGönderici(self): 107 | return self.__kimden 108 | 109 | def getAlıcı(self): 110 | return self.__kime 111 | 112 | def __str__(self): 113 | return """ 114 | 115 | ============================================================== 116 | 117 | Gönderici: {gönderici} Alıcı: {alıcı} Tarih: {tarih} 118 | 119 | ============================================================== 120 | 121 | Başlık: {konu_başlığı} 122 | 123 | ============================================================== 124 | 125 | Mesaj: {mesaj} 126 | 127 | ============================================================== 128 | 129 | """.format(gönderici=self.__kimden,alıcı= self.__kime,tarih=self.__tarih,konu_başlığı=self.__başlık,mesaj=self.__mesaj) 130 | 131 | 132 | 133 | temizle= ("cls" if os.name=="nt" else "clear") 134 | e1= EPostaServisi("Ultra Mail X") 135 | 136 | #e1.üyeOl("Selçuk","Apar","tosbik@ultramailx.com","abc123") 137 | 138 | 139 | menü= """ 140 | 141 | {başlık} 142 | [1] Yeni Mail Adresi Al 143 | [2] Giriş Yap 144 | [3] Çıkış 145 | 146 | 147 | """.format(başlık=e1) 148 | 149 | 150 | while True: 151 | try: 152 | os.system(temizle) 153 | print(menü) 154 | seçim= int(input("Seçiminizi girin: ")) 155 | 156 | if seçim == 1: 157 | 158 | isim= input("İsim: ") 159 | soyad= input("Soyad: ") 160 | mail= input("Mail adresi: ") 161 | şifre= input("Şifre: ") 162 | 163 | if isim and soyad and mail and şifre: 164 | e1.üyeOl(isim,soyad,mail,şifre) 165 | else: 166 | print("Tüm bilgileri girmeniz gerekir!") 167 | elif seçim == 2: 168 | e1.girişYap(mail=input("Mailinizi girin: "),şifre=input("Şifrenizi girin: ")) 169 | 170 | elif seçim == 3: 171 | quit() 172 | else: 173 | raise ValueError("Girdiğiniz sayılar sadece 1,2 ve 3 olabilir") 174 | except ValueError as mesaj: 175 | print("Geçersiz bir değer girdiniz: " + str(mesaj)) 176 | time.sleep(1) 177 | 178 | 179 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Kurs Adı: Python 3: Sıfırdan Programcılık Mesleğine

2 | 3 | Bu sayfada kursta uygulanan tüm projelerin kaynak kodlarına ve Python cheat sheet dökümanına ulaşabilirsiniz. 4 | 5 |

Python Cheat Sheet/Kopya Kağıdı/Hatırlatıcı

6 | 7 | 8 |

Değişkenler

Kullanıcıdan Bilgi Almak

format() Fonksiyonu

int(),float(),str() ile değişkenleri birbirine çevirebilirsin.

Koleksiyonlar

Liste

Sözlükler

Demetler

Kümeler

Birleşim Kümesi

Kesişim Kümesi

Kümelerde Fark

*Kümelerde eleman tekrarlanmaz

*list(), dict(), tuple(), set() fonksiyonlarıyla birbirine dönüşürler.

Akış Kontrolleri

Matematiksel Operatörler

Kıyaslama Operatörleri

Boolean Örnekleri

Mantıksal Operatörler

if Kullanımı

else Kullanımı

elif Kullanımı

if Sorgusu Pratik Yöntem

Döngüler

while Döngüsü

break

continue

for Döngüsü

enumerate

Fonksiyonlar

Pozisyonal Arguman

Anahtar Kelimeli Argüman

*args

**kwargs

Anonim Fonksiyonlar-Lambda

String Biçimlendirme

Kelime hedefli olarak gönderme

format methodu olmadan string biçimlendirme

Değişkenlerin Kapsamları

Hata Yakalama-Kriz Yönetimi

raise

Üst Düzey Fonksiyonlar

filter() Fonksiyonu

map() Fonksiyonu

reduce() Fonksiyonu

any() Fonksiyonu

all() fonksiyonları

List Comprehension-Akıllı Listeler

Akıllı Listede İç İçe Sorgular

Akıllı Listede Else Kullanımı

Curried Fonksiyonlar - Taksitli Parametre

Nesne Tabanlı Programlama

Örnekleme

Örneğin Niteliklerine Erişmek

Örneğin Metotları

Sınıfa ait Nitelikler

Sınıfa Ait Metotlar

Static Metot

Kalıtım-Inheritence

__str__

Kapsülleme Ve Erişim Belirleyiciler

Property Dekoratörü(Nitelikleştirici)

*Property salt okunurdur

Property .setter dekoratörü

Property .deleter dekoratörü

Modüller ve Modül Import Etmek

Modüle Takma İsim Koymak

Modülün bir bölümünü import etmek

__name__ Niteliği

Değişkenler

metot

anlamı

count()

kaç adet var?

find()

varmı? index no?

len()

karakter/eleman sayısı

split()

Parçalara ayırır

replace()

Değiştirir,Yerine koyar

upper() lower()

Harf büyüt küçült

type()

Değişken tipini verir

isinstance(değişken,float)

Belirtilen tipteyse True döner

Kullanıcıdan Bilgi Almak

alınanbilgi= input("Adınız nedir?")

*Alınan bilgi string tipindedir.

format() Fonksiyonu

print("Verilen değer parantezlere {} yerleşir".format("Değer"))

int(),float(),str() ile değişkenleri birbirine çevirebilirsin.

Koleksiyonlar

liste= []   liste= list()

demet= ()   demet= tuple()

sözlük= {}   sözlük= dict()

küme= set()

Liste

liste += [“eleman1,eleman2”]

Eleman ekle

liste.append()

Eleman ekle

len(liste)

Eleman sayısı

liste[0]

İlk elemanı getir

liste.upper()

Harfleri büyütür

liste.pop()

Son elemanı siler

liste.pop(2)

İkinci pozisyondakini siler

liste.insert(2,”eleman”)

İkinci pozisyona ekler

liste.remove(“eleman”)

Belirli bir elemanı siler

liste.clear()

Listeyi temizler

liste.index(12)

12 Sayısının pozisyonunu verir

liste.copy()

Bağımsız kopya oluşturur

liste.reverse()

Tersine çevirir

liste.sort(reverse = True)

Sıraya dizer

liste.extend(ek_liste)

Listeye liste ekler

Sözlükler

sozluk_1 = {"anahtar1":"deger1","anahtar2":"deger2","anahtar3":"deger3"}
print(sozluk_1[
"anahtar1"])
sozluk_1[
"anahtar1"]= "Yeni Değer"
sozluk_1[
"yeni_anahtar"]=  "Yeni Değer"

pop(“anahtar adı”)

Belirtilen elemanı siler

sözlük.get(“anahtar”,”Bulunamadı”)

Bulunamadı mesajı verebiliriz

sözlük.keys()

Tüm anahtarları getirir

sözlük.items()

(anahtar1,değer1),(anahtar2,değer2)

sözlük.popitem()

Siler, (anahtar,değer) döndürür

sözlük.values()

Değer kısımlarını döndürür

Demetler

demet = ()
demet_sayılar = (
1,2,3,4,5)
tek_elemanlı_demet = (
1,)

count()

Demetin eleman sayısını getirir

index()

Belirtilen elemanın pozisyon numarası

demet_1 = (1,2,3,4,5)  
demet_2 = (
"a","b","c")
print(demet_1  + demet_2)

Kümeler

boş_küme = set()
küme= {1,2,3}

Kümeye liste,sözlük,başka bir küme eklenmez. Küme içinde sadece demet olabilir.

küme.add(“eleman”)

Kümeye eleman ekler

sebzeler.update({"soğan","Sarımsak"})

Çoklu eleman eklemek

sebzeler.clear()

Kümeyi temizler

sebzeler.remove(“Soğan”)

Kümeden eleman siler

sebzeler.discard(”Patates”)

Siler, eleman yoksa hata vermez.

sayilar.pop()

Rastgele siler.

Birleşim Kümesi

a_kumesi = {1,2,3,4,5,6,7,8}
b_kumesi = {
6,7,8,9,10,11,12}
print(a_kumesi | b_kumesi)

Kesişim Kümesi

a_kumesi = {1,2,3,4,5,6,7,8}
b_kumesi = {
6,7,8,9,10,11,12}
print(a_kumesi & b_kumesi)

Kümelerde Fark

a_kumesi = {1,2,3,4,5,6,7,8}
b_kumesi = {
6,7,8,9,10,11,12}
print(a_kumesi-b_kumesi)

*Kümelerde eleman tekrarlanmaz

*list(), dict(), tuple(), set() fonksiyonlarıyla birbirine dönüşürler.

Akış Kontrolleri

Matematiksel Operatörler

Operatör

Açıklama

Örnek

+

Toplama

3 + 3 = 6

-

Çıkarma

5 - 2 = 3

*

Çarpma

3 * 3 = 9

/

Bölme

19 / 3 = 6.3

//

Taban Bölme

19 // 3 = 6

**

Üs Alma

2 ** 3 = 8

%

Mod Alma

12 % 5 =2

Kıyaslama Operatörleri

Operatör

Anlamı

==

Eşittir

<=

Küçüktür veya eşittir

>=

Büyüktür veya eşittir

!=

Eşit Değildir

<

Küçüktür

>

Büyüktür

Boolean Örnekleri

True == True
>>>
True

True == False
>>>
False

True is True
>>>
True

True is not True
>>>
False

Mantıksal Operatörler

Operatör

Anlamı

and

İki şart da sağlanmalı

or

Biri sağlansa yeterli

not

Tam tersine çevirir

if Kullanımı

if yaş>18:
   print(
"Ehliyet alabilir.")

else Kullanımı

if yaş>18:
   print(
"Ehliyet alabilir.")
else:
   print(
"Henüz ehliyet alamaz..")

elif Kullanımı

if yaş<18:
   print(
"Henüz ehliyet alamaz..")
elif yaş>100:
   print(
"Ehliyet almak için fazla yaşlısınız.")
else:
   print(
"Ehliyet alabilir.")

if Sorgusu Pratik Yöntem

durum = ("Hız limiti aşıldı" if hiziniz>hiz_limiti else "Hızınız normal")

Döngüler

while Döngüsü

sayaç= 10
while sayaç>=0:
   print(
"Geri sayım: ",sayaç)
   sayaç-=
1

break

sayaç= 10
while sayaç>=0:
    print("Geri sayım: ",sayaç)
    if sayaç == 5:
        break #Döngüden çıkar
    sayaç-=1

continue

sayaç= 10
while sayaç>=0:
    print("Geri sayım: ",sayaç)
    if sayaç == 5:
        continue #sayaç 5 ise sayacı 1 azaltmadan döngünün başına döner
    sayaç-=1

for Döngüsü

sayılar= range(0,10)
for sayı in sayılar:
   print(sayı)

enumerate

aylar= ["Ocak","Şubat","Mart"]
for sıra_no,ay in enumerate(aylar):
   print(
"{}.{}".format(sıra_no,ay))

Fonksiyonlar

def fonk_adı(param_1="varsayılan", param_2=None):
   
#yapılacaklar

fonk_adı(
1,2) #fonksiyon adını yazarak çağırılır.

def fonksiyon(a,b):
   print(a)
   print(b)

fonksiyon(
1,2)

Pozisyonal Arguman

fonksiyon(1,2)

Anahtar Kelimeli Argüman

fonksiyon(param1=1,param2="Merhaba")

*Değer döndürme ifadesi: return

*Fonksiyona parametre olarak liste gönderirsen ve fonksiyonun aldığı parametre değerini değiştirirsen gönderilen orijinal listenin değeri de değişir.

*args

def çoklu_değerler(*args):
   print(args)

çoklu_değerler(
1,3,5,7,"Ali","Mehmet",55.6)

Çıktı: (1, 3, 5, 7, 'Ali', 'Mehmet', 55.6)

**kwargs

def çoklu_kelimesel_fonksiyon(**kwargs):
   print(kwargs)
       
çoklu_kelimesel_fonksiyon(isim=
"Namık",soyad="Kamil",yas=25,boy=1.85)

Çıktı: {'isim': 'Namık', 'soyad': 'Kamil', 'yas': 25, 'boy': 1.85}

Anonim Fonksiyonlar-Lambda

toplama= lambda sayı1,sayı2 :  sayı1 + sayı2
print(toplama(
14,20))

Çıktı: 34

String Biçimlendirme

isim= "Selim"
print(
"{} isimli öğrenci sınavdan 100 aldı.".format(isim))

Çıktı: Selim isimli öğrenci sınavdan 100 aldı.

metin = "Birinci: {} İkinci: {} Üçüncü: {}".format("değer1","değer2","değer3")
print(metin)

Çıktı: Birinci: değer1 ikinci: değer2 üçüncü parantez: deger3

metin = "Benim adım {2} soyadım {1} boyum {0}dir."
print(metin.format(
"Kenan","Güney",1.78))

Çıktı: Benim adım 1.78 soyadım Güney boyum Kenandir.

Kelime hedefli olarak gönderme

metin= "Benim adım {isim} soyadım {soyad} boyum {boy}dir."
print(metin.format(isim=
"Şaban",soyad="Yılmaz",boy=1.85))

Çıktı: Benim adım Şaban soyadım Yılmaz boyum 1.85dir.

format methodu olmadan string biçimlendirme

isim = "Vedat"
print(
"Benim adım %s" % isim)

Çıktı: Benim adım Vedat

%s string

%d integer

%f float

ücret= 59.90446654333
print(
"Aldığım şapkanın ücreti: %.2f TL" % ücret)

Çıktı: Aldığım şapkanın ücreti: 59.90 TL

*isim[1:].lower() ilk karakter dışındakileri küçük harf yapar.

Değişkenlerin Kapsamları

genel_toplam = 12.5
def ürün_ekle():
   
global genel_toplam
   genel_toplam +=
10
   print(genel_toplam)

ürün_ekle()

Bu şekilde genel kapsamlı değişkeni fonksiyon içinden değiştirmeniz mümkün oluyor.

Hata Yakalama-Kriz Yönetimi

try:
   print(
2/0)
except:
   print(
"Belli ki bir hata oldu")

Çıktı: Belli ki bir hata oldu

try:
   print(
2/0)
except ZeroDivisionError:
   print(
"Sayıyı sıfıra bölemezsin")

Çıktı: Sayıyı sıfıra bölemezsin

try:
   print(
2/0)
except (ZeroDivisionError):
   print(
"Sayıyı sıfıra bölemezsin")
except IndexError:
   print(
"Hatalı bir index numarası girdiniz")
except (TypeError,ImportError):
   
#Bu şekilde iki durum için de aynı exception bloğu çalışır.
   
pass
except:
   print(
"Exception yazmadığımız bütün diğer hata tiplerinde de burası çalışır")
else:
   
#Kullanımı tercihe bağlıdır.Bir hata yoksa çalışır
finally:
   
#Kullanımı tercihe bağlıdır.Her şartta, hata olsun olmasın çalışır. Genellikle memoryde kullanılan kaynakları serbest bırakmak için kullanılır.

raise

raise TypeError

Çıktı: TypeError

raise MemoryError("Keyfi verdirilmiş bellek hatası")

Çıktı: MemoryError: Keyfi verdirilmiş bellek hatası

try:
   
raise ZeroDivisionError("Bir sayıyı sıfıra bölemezsin anla artık")
except ZeroDivisionError:
   print(
"Bir hata var")

 

Çıktı: Bir hata var

try:
   sayı= int( input(
"Çift sayı girin"))
   
if sayı % 2 ==0:
       
pass #Devam et dedik, pas geç
   
else:
       
raise ValueError("Ben sana sadece çift sayı girebilirsin dedim!")
except ValueError as hata_mesajı:
   print(
"Hata mesajımız: " + str(hata_mesajı))

Üst Düzey Fonksiyonlar

filter() Fonksiyonu

def çiftleri_bulma_makinesi(sayı):
   
if sayı %2 ==0:
       
return True
   
else:
       
return False
     
sayılar = [
0,1,2,3,4,5,6,7,8,9,10]

filtreden_geçirilmis_çift_sayılar = filter(çiftleri_bulma_makinesi,sayılar)

print(list(filtreden_geçirilmis_çift_sayılar))

Çıktı: [0, 2, 4, 6, 8, 10]

map() Fonksiyonu

sayilar = range(0,10)
islenmis_sayilar = map(
lambda sayi : sayi +1,sayilar)
list(islenmis_sayilar)

Çıktı: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

reduce() Fonksiyonu

from functools import reduce
sayilar = range(
1,5)
print(reduce(
lambda sayi1,sayi2:sayi1*sayi2,sayilar))

Çıktı :24

any() Fonksiyonu

En az bir True

liste = [False,False,False]
any(liste)

Çıktı: False

liste = [False,True,False]
any(liste)

Çıktı: True

all() fonksiyonları

Hepsi True olmalı.

liste = [1233,"Merhaba",123,False]
all(liste)

Çıktı: False

liste = [1233,"Merhaba",123]
all(liste)

Çıktı: True

List Comprehension-Akıllı Listeler

liste_1 = [1,2,3,4,5,6,7,8,9,10]
liste_2 = [sayı+
1 for sayı in liste_1]
print(liste_2)

Çıktı: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

liste_1 = [1,2,3,4,5,6,7,8,9,10]
liste_2 = [sayı
for sayı in liste_1 if sayı%2==0]

Çıktı: [2, 4, 6, 8, 10]

liste_1 = [1,2,3,4,5,6,7,8,9,10]
liste_2 = [sayı
for sayı in liste_1 if not (sayı==2 or sayı==3)]

Çıktı: [1, 4, 5, 6, 7, 8, 9, 10]

Akıllı Listede İç İçe Sorgular

sayilar = range(1,100)
sartlara_uyan_sayilar = [sayi
for sayi in sayilar if sayi % 3 ==0 if sayi % 7 ==0 ]
print(sartlara_uyan_sayilar)

Çıktı: [21, 42, 63, 84]

Akıllı Listede Else Kullanımı

sartlara_uyan_sayilar = ["bölünür" if sayi%6==0 else "bölünmez" for sayi in sayilar]

Curried Fonksiyonlar - Taksitli Parametre

def birinci_fonksiyon(para1):

   
def ikinci_fonksiyon(para2):

       
def ucuncu_fonksiyon(para3):

           print(para1,para2,para3)

       
return ucuncu_fonksiyon        

   
return ikinci_fonksiyon

Çağır: birinci_fonksiyon(
10)(20)(30)

Çıktı: 10 20 30

Nesne Tabanlı Programlama

Sınıf tanımlama aşamaları

Sınıfın adı

Sınıfın Nitelikleri

init fonksiyonu

Örneğin Nitelikleri

Örneğin Metotlar

Sınıfın Metotları

Static Metodlar

class Kedi():
   
#init fonksiyonu ve örnek nitelikleri
   
def __init__(self,isim,yas):
       self.isim = isim
       self.yas = yas

Örnekleme

Class A():
   
pass
örnek = A()

Örneğin Niteliklerine Erişmek

class Kişi():
   
def __init__(self,isim,yas):
       self.isim = isim
       self.yas = yas

Ahmet = Kişi(
"Ahmet",30)
print(Ahmet.yas)

Örneğin Metotları

class Araba():
   
def __init__(self,renk,hız):
       self.renk = renk
       self.hiz = hız
       self.calisiyor =
False

   
def calistir(self):
       self.calisiyor =
True

kara_simsek = Araba(
"Siyah",180)
kara_simsek.calistir()

Sınıfa ait Nitelikler

class Araba():

   uretim_sayisi =
0


print(Araba.uretim_sayisi)
#Sınıf adıyla çağrılır

Sınıfa Ait Metotlar

class Araba():
 
  uretim_sayisi =
0

   @classmethod
 
def uretim_sayisini_artir(cls):
      cls.uretim_sayisi +=
1

Static Metot

class Araba():
    @staticmethod
   
def benim_static_metodum():
       print(
"Ben static metodum")

Kalıtım-Inheritence

class Robot():
   
pass

class AşçıRobot(Robot):
   
pass

*super() fonksiyonu üst sınıfın fonksiyonuna ulaşabilmemizi sağlar.

class Öğretmenler():
   
def __init__(self,isim,soyad,id):
       self.isim = isim
       self.soyad = soyad
       self.id = id

class Kimya_Öğretmenleri(Öğretmenler):
   
def __init__(self,isim,soyad,id,labsuresi)
       
super().__init__(isim,soyad,id) #üst sınıfın tanımlamasını unutma
       
self.labsuresi = labsuresi

__str__

class Tekne():
   
def __str__(self):
       
return "Bu bir teknedir"

t1 = Tekne()
print(t1)

Çıktı: Bu bir teknedir

Kapsülleme Ve Erişim Belirleyiciler 

self.__mesajlar = mesajlar  

Değişkenleri özel yapabildiğimiz gibi metotları da özel yapabiliriz.

def __kullaniciyi_sil(self):
   print(
"Kullanıcı silindi.")

Property Dekoratörü(Nitelikleştirici)

class Kitap():
   
def __init__(self,baslik):
       self.__baslik = baslik
   
    @property
   
def baslik(self):
       
return self.__baslik

v1 = Kitap(
"Abc")
print(v1.baslik)

Çıktı: Abc

*Property salt okunurdur

Property .setter dekoratörü

class Kitap():
   
def __init__(self,baslik):
       self.__baslik = baslik
   
    @property
   
def baslik(self):
       
return self.__baslik

    @baslik.setter
   
def baslik(self,yeni_baslik):
       self.__baslik = yeni_baslik
       print(
"Başlık değiştirildi.")

k1 = Kitap(
"Sefiller")
k1.baslik =
"Karamazov Kardeşler"
print(k1.baslik)

Çıktı: Karamazov Kardeşler

Property .deleter dekoratörü

@baslik.deleter
def baslik(self):
   
del self.__baslik
   print(
"Başlık silindi")

k1 = Kitap(
"Sefiller")
del k1.baslik

Çıktı: Başlık silindi

Modüller ve Modül Import Etmek

import modül_adı

Modüle Takma İsim Koymak

import matematikmodulum. as islem

Modülün bir bölümünü import etmek

from matematikmodulum import toplama

__name__ Niteliği

if __name__ == "__main__":
   
#Program direk çalışıyor başka program içinde modül olarak değil.

9 | --------------------------------------------------------------------------------