├── Proje-9-Faktoriyel-Alma └── faktöriyel_alma.py ├── Proje-8-Dikdortgen-Cizme └── dikdörtgen_çizme.py ├── README.md ├── Proje-6-Pi-Sayisinin-Degerini-Hesaplama └── pi_sayısının_değerini_hesaplama.py ├── Proje-5-Tarih-Saat-Gosterme └── tarih_saat_gösterme.py ├── Proje-10-Fibonacci-Hesaplama └── fibonacci.py ├── Proje-1-Vucut-Kitle-Indeksi └── vücut_kitle_indeksi.py ├── Proje-2-Yerine-Koyma-Sifrelemesi └── yerine_koyma_şifrelemesi.py ├── Proje-3-Sezar-Sifresi └── sezar_şifresi.py ├── Proje-13-Rastgele-Sifre-Olusturucu └── rastgele_şifre_oluşturucu.py ├── Proje-11-Yas-Burc-Hesaplama └── yaş_burç_hesaplama.py ├── Proje-12-Tas-Kagit-Makas-Oyunu └── tas_kagit_makas_oyunu.py ├── .gitignore ├── Proje-4-Iskambil-Destesi-Dagitma └── iskambil_destesi_dağıtma.py └── Proje-7-Isi-Birimlerini-Cevirme └── ısı_birimleri_çevirme.py /Proje-9-Faktoriyel-Alma/faktöriyel_alma.py: -------------------------------------------------------------------------------- 1 | sayı= int(input('Faktöriyeli alınacak sayıyı giriniz: ')) 2 | çarpım=1 3 | for i in range(sayı): 4 | çarpım=çarpım*(i+1) 5 | print(sayı, 'sayısının farktöriyeli=', çarpım) 6 | -------------------------------------------------------------------------------- /Proje-8-Dikdortgen-Cizme/dikdörtgen_çizme.py: -------------------------------------------------------------------------------- 1 | def y(a): 2 | print(' _'*a) 3 | 4 | def d(b): 5 | print((b-1)*('|'+(a*2-1)*' '+'|\n')+'|'+'_'+(a-1)*' _'+'|') 6 | 7 | a=int(input('Yan kenarı giriniz: ')) 8 | 9 | b=int(input('Dik kenarı giriniz: ')) 10 | 11 | y(a) 12 | d(b) 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Python 3 Küçük Projeler 2 | 3 | Python öğrenirken yazdığım kodlardır. 4 | 5 | Python'da yeni olan kişilere yararlı olabileceğini düşündüğüm için paylaşıyorum. 6 | 7 | Not:Kodlar Manjaro-I3'te Atom Text Editor ile yazılmıştır. Başka sistemlerde çalışıp çalışmadığı denenmemiştir. 8 | -------------------------------------------------------------------------------- /Proje-6-Pi-Sayisinin-Degerini-Hesaplama/pi_sayısının_değerini_hesaplama.py: -------------------------------------------------------------------------------- 1 | n=0 2 | s=0 3 | 4 | r=int(input('Son değişkeni giriniz(varsayılan=1000000): ')) 5 | #Son değişkeni ne kadar büyük yaparsak pi sayısının gerçek değerine o kadar yaklaşmış oluruz. 6 | 7 | while n= 0: 8 | sonuç=fibonacci(sayı-1) 9 | print('Fibonacci dizisinin {}. elemanı={}'.format(sayı,sonuç)) 10 | else: 11 | print('Negatif sayı girdiniz.') 12 | -------------------------------------------------------------------------------- /Proje-1-Vucut-Kitle-Indeksi/vücut_kitle_indeksi.py: -------------------------------------------------------------------------------- 1 | def vki(x,y): 2 | global bki 3 | bki=x/((y/100)**2) 4 | print('Vücut kitle indeksiniz: ',bki) 5 | return bki 6 | 7 | x=float(input('Kütlenizi giriniz(kg): ')) 8 | y=float(input('Boyunuzu giriniz(cm): ')) 9 | 10 | vki(x,y) 11 | 12 | if bki<18.5: 13 | print('Zayıfsınız.') 14 | elif bki<24.9: 15 | print('Normalsiniz.') 16 | elif bki<29.9: 17 | print('Fazla kilosunuz.') 18 | elif bki<39.9: 19 | print('Şişmansınız.') 20 | else: 21 | print('Obezsiniz.') 22 | -------------------------------------------------------------------------------- /Proje-2-Yerine-Koyma-Sifrelemesi/yerine_koyma_şifrelemesi.py: -------------------------------------------------------------------------------- 1 | key='ABCÇDEFGĞHIJKLMNOÖPRSŞTUÜVYZQWX.@,-_! 0123456789' 2 | 3 | keyrec='4ÇQÜMGK6NJ2C5SP0ZW3E7HVOY1ÖĞI8?-,.@=+!FTADULŞRXB' 4 | 5 | print('1: Veriyi Şifreleme\n2: Şifreyi Çözme') 6 | 7 | e=input('Hangi işlemi yapmak istiyorsunuz: ') 8 | 9 | if e == '1': 10 | encryption=input('Şifrelenecek veriyi giriniz: ') 11 | f=str.maketrans(key,keyrec) 12 | encryption=encryption.upper().translate(f) 13 | print(encryption) 14 | 15 | elif e == '2': 16 | decryption=input('Şifreli veriyi giriniz: ') 17 | p=str.maketrans(keyrec,key) 18 | decryption=decryption.upper().translate(p) 19 | print(decryption) 20 | 21 | else: 22 | print('Geçersiz girdi girdiniz.') 23 | -------------------------------------------------------------------------------- /Proje-3-Sezar-Sifresi/sezar_şifresi.py: -------------------------------------------------------------------------------- 1 | class crytography: 2 | def f(encrypt,key): 3 | global e 4 | e='' 5 | for l in encrypt: 6 | a = chr(ord(l) + int(key)) 7 | e = e + a 8 | 9 | def p(decrypt,key): 10 | global e 11 | e='' 12 | for l in decrypt: 13 | a = chr(ord(l) - int(key)) 14 | e = e + a 15 | 16 | print('1: Veriyi şifrele') 17 | print('2: Şifreyi çözme') 18 | 19 | e = input('Hangi işlemi yapmak istiyorsunuz? ') 20 | k = input('Anahtar\'ı giriniz: ') 21 | 22 | if e == '1': 23 | m=input('Şifrelenecek metni giriniz: ') 24 | crytography.f(m,k) 25 | print(e) 26 | 27 | elif e == '2': 28 | c=input('Şifrelenecek veriyi giriniz: ') 29 | crytography.p(c,k) 30 | print(e) 31 | 32 | else: 33 | print('Geçersiz girdi girdiniz.') 34 | -------------------------------------------------------------------------------- /Proje-13-Rastgele-Sifre-Olusturucu/rastgele_şifre_oluşturucu.py: -------------------------------------------------------------------------------- 1 | import random 2 | import time 3 | 4 | p=[] 5 | k=[ 6 | 'A', 7 | 'B', 8 | 'C', 9 | 'Ç', 10 | 'D', 11 | 'E', 12 | 'F', 13 | 'G', 14 | 'Ğ', 15 | 'H', 16 | 'I', 17 | 'İ', 18 | 'J', 19 | 'K', 20 | 'L', 21 | 'M', 22 | 'N', 23 | 'O', 24 | 'Ö', 25 | 'P', 26 | 'R', 27 | 'S', 28 | 'Ş', 29 | 'T', 30 | 'U', 31 | 'Ü', 32 | 'V', 33 | 'Y', 34 | 'Z', 35 | 'Q', 36 | 'W', 37 | 'X', 38 | '0', 39 | '1', 40 | '2', 41 | '3', 42 | '4', 43 | '5', 44 | '6', 45 | '7', 46 | '8', 47 | '9' 48 | ] 49 | 50 | print('Şifre oluşturucuya hoş geldiniz.') 51 | b=input('Şifreniz kaç haneli olsun? ') 52 | if b.isnumeric(): 53 | a=int(b) 54 | i=1 55 | while i <= a: 56 | t=random.choice(k) 57 | p.append(t) 58 | time.sleep(0.2) 59 | i=i+1 60 | o=''.join(p) 61 | print('Oluşturulan şifre: {}'.format(o)) 62 | else: 63 | print('Hatalı girdi girdiniz.Lütfen sadece sayı giriniz.') 64 | -------------------------------------------------------------------------------- /Proje-11-Yas-Burc-Hesaplama/yaş_burç_hesaplama.py: -------------------------------------------------------------------------------- 1 | import time 2 | import datetime 3 | 4 | print('Bugünün tarihi:',time.strftime('%c')) 5 | 6 | a=int(input('Doğdugunuz günü giriniz: ')) 7 | b=int(input('Doğdugunuz ayı sayı olarak giriniz: ')) 8 | c=int(input('Doğdugunuz yılı giriniz: ')) 9 | 10 | if ((a>20) & (b==3)) or ((a<21) & (b==4)): 11 | y='Koç' 12 | elif ((a>20) & (b==4)) or ((a<21) & (b==5)): 13 | y='Boğa' 14 | elif ((a>20) & (b==5)) or ((a<22) & (b==6)): 15 | y='İkizler' 16 | elif ((a>21) & (b==6)) or ((a<23) & (b==7)): 17 | y='Yengeç' 18 | elif ((a>22) & (b==7)) or ((a<23) & (b==8)): 19 | y='Aslan' 20 | elif ((a>22) & (b==8)) or ((a<23) & (b==9)): 21 | y='Başak' 22 | elif ((a>22) & (b==9)) or ((a<24) & (b==10)): 23 | y='Terazi' 24 | elif ((a>23) & (b==10)) or ((a<23) & (b==11)): 25 | y='Akrep' 26 | elif ((a>22) & (b==11)) or ((a<22) & (b==12)): 27 | y='Yay' 28 | elif ((a>21) & (b==12)) or ((a<21) & (b==1)): 29 | y='Oğlak' 30 | elif ((a>20) & (b==1)) or ((a<19) & (b==2)): 31 | y='Kova' 32 | else: 33 | y='Balık' 34 | 35 | 36 | q=time.localtime() 37 | c=(q.tm_year)-(c) 38 | 39 | print('Yaşınız: {} yaşındasınız.'.format(c)) 40 | print('Burcunuz: {}'.format(y)) 41 | -------------------------------------------------------------------------------- /Proje-12-Tas-Kagit-Makas-Oyunu/tas_kagit_makas_oyunu.py: -------------------------------------------------------------------------------- 1 | import random 2 | import time 3 | 4 | a=['Taş','Kağıt','Makas'] 5 | 6 | def sonuc(): 7 | if b==i: 8 | print('Berabere') 9 | elif (b=='Taş') and (i=='Kağıt'): 10 | print('{} kazandı.'.format(l)) 11 | elif (b=='Taş') and (i=='Makas'): 12 | print('{} kazandı.'.format(k)) 13 | elif (b=='Kağıt') and (i=='Taş'): 14 | print('{} kazandı.'.format(k)) 15 | elif (b=='Kağıt') and (i=='Makas'): 16 | print('{} kazandı.'.format(l)) 17 | elif (b=='Makas') and (i=='Taş'): 18 | print('{} kazandı.'.format(l)) 19 | else: 20 | print('{} kazandı.'.format(k)) 21 | 22 | k=input('Birinci kullanıcının adını giriniz: ') 23 | l=input('İkinci kullanıcının adını giriniz: ') 24 | while 1: 25 | time.sleep(0.3) 26 | b=random.choice(a) 27 | time.sleep(0.3) 28 | i=random.choice(a) 29 | #Kodları Linux Shell üzerinden çalıştırınca karışık göründüğü için aralara boşluk kattım. 30 | print(' ') 31 | print('{}='.format(k),b) 32 | print(' ') 33 | print('{}='.format(l),i) 34 | print(' ') 35 | sonuc() 36 | print(' ') 37 | x=input('Tamam mı devam mı? Oyunu bitirmek için (ç), tekrar oynamak için herhangi bir girdi giriniz: ') 38 | if x in ['Ç','ç']: 39 | break 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | 27 | # PyInstaller 28 | # Usually these files are written by a python script from a template 29 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 30 | *.manifest 31 | *.spec 32 | 33 | # Installer logs 34 | pip-log.txt 35 | pip-delete-this-directory.txt 36 | 37 | # Unit test / coverage reports 38 | htmlcov/ 39 | .tox/ 40 | .coverage 41 | .coverage.* 42 | .cache 43 | nosetests.xml 44 | coverage.xml 45 | *,cover 46 | .hypothesis/ 47 | 48 | # Translations 49 | *.mo 50 | *.pot 51 | 52 | # Django stuff: 53 | *.log 54 | local_settings.py 55 | 56 | # Flask stuff: 57 | instance/ 58 | .webassets-cache 59 | 60 | # Scrapy stuff: 61 | .scrapy 62 | 63 | # Sphinx documentation 64 | docs/_build/ 65 | 66 | # PyBuilder 67 | target/ 68 | 69 | # IPython Notebook 70 | .ipynb_checkpoints 71 | 72 | # pyenv 73 | .python-version 74 | 75 | # celery beat schedule file 76 | celerybeat-schedule 77 | 78 | # dotenv 79 | .env 80 | 81 | # virtualenv 82 | venv/ 83 | ENV/ 84 | 85 | # Spyder project settings 86 | .spyderproject 87 | 88 | # Rope project settings 89 | .ropeproject 90 | -------------------------------------------------------------------------------- /Proje-4-Iskambil-Destesi-Dagitma/iskambil_destesi_dağıtma.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import random 4 | import time 5 | 6 | simgeler=['Karo','Maça','Sinek','Kupa'] 7 | sayılar=[1,2,3,4,5,6,7,8,9,10,'Bacak','Kız','Papaz'] 8 | kağıtlar=[] 9 | a=[] 10 | b=[] 11 | c=[] 12 | d=[] 13 | 14 | for i in simgeler: 15 | for j in sayılar: 16 | kağıtlar.append(i+' '+str(j)) 17 | 18 | i=52 19 | while i!=39: 20 | ü=random.choice(kağıtlar) 21 | #bilgisayarda rastgele diye birşey yoktur bende kartların daha iyi dağılması için 22 | #random.choice'in her seçiminin arasına 0.2 saniye bekleme kattım 23 | time.sleep(0.2) 24 | a.append(ü) 25 | kağıtlar.remove(ü) 26 | i=i-1 27 | 28 | while i!=26: 29 | ü=random.choice(kağıtlar) 30 | time.sleep(0.2) 31 | b.append(ü) 32 | kağıtlar.remove(ü) 33 | i=i-1 34 | 35 | while i!=13: 36 | ü=random.choice(kağıtlar) 37 | time.sleep(0.2) 38 | c.append(ü) 39 | kağıtlar.remove(ü) 40 | i=i-1 41 | 42 | while i!=0: 43 | ü=random.choice(kağıtlar) 44 | time.sleep(0.2) 45 | d.append(ü) 46 | kağıtlar.remove(ü) 47 | i=i-1 48 | 49 | print('Oyuncu 1:') 50 | for l in a: 51 | print(l) 52 | 53 | print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') 54 | 55 | print('Oyuncu 2:') 56 | for l in b: 57 | print(l) 58 | 59 | print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') 60 | 61 | print('Oyuncu 3:') 62 | for l in c: 63 | print(l) 64 | 65 | print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') 66 | 67 | print('Oyuncu 4:') 68 | for l in d: 69 | print(l) 70 | -------------------------------------------------------------------------------- /Proje-7-Isi-Birimlerini-Cevirme/ısı_birimleri_çevirme.py: -------------------------------------------------------------------------------- 1 | class ısı_birimleri: 2 | def celcius_to_fahrenhayt(l): 3 | k=((l*9) / 5) + 32 4 | print(k) 5 | 6 | def celcius_to_kelvin(l): 7 | k=l+273 8 | print(k) 9 | 10 | def fahrenhayt_to_celcius(l): 11 | k=((l-32)*5)/9 12 | print(k) 13 | 14 | def fahrenhayt_to_kelvin(l): 15 | k=(((l-32)*5)/9)+273 16 | print(k) 17 | 18 | def kelvin_to_fahrenhayt(l): 19 | k=(((l-273)*9)/5)+32 20 | print(k) 21 | 22 | def kelvin_to_celcius(l): 23 | k=(l-273) 24 | print(k) 25 | 26 | print('\n1) Celsius-->Fahrenhayt') 27 | print('2) Fahrenhayt-->Celsius') 28 | print('3) Celsius-->Kelvin') 29 | print('4) Kelvin-->Celsius') 30 | print('5) Fahrenhayt-->Kelvin') 31 | print('6) Kelvin-->Fahrenhayt\n') 32 | 33 | a=input('Hangi işlemi yapmak istiyorsunuz?') 34 | 35 | if int(a)==1: 36 | l=int(input('Sıcaklığı girin: ')) 37 | ısı_birimleri.celcius_to_fahrenhayt(l) 38 | 39 | elif int(a)==2: 40 | l=int(input('Sıcaklığı girin: ')) 41 | ısı_birimleri.fahrenhayt_to_celcius(l) 42 | 43 | elif int(a)==3: 44 | l=int(input('Sıcaklığı girin: ')) 45 | ısı_birimleri.celcius_to_kelvin(l) 46 | 47 | elif int(a)==4: 48 | l=int(input('Sıcaklığı girin: ')) 49 | ısı_birimleri.kelvin_to_celcius(l) 50 | 51 | elif int(a)==5: 52 | l=int(input('Sıcaklığı girin: ')) 53 | ısı_birimleri.fahrenhayt_to_kelvin(l) 54 | 55 | elif int(a)==6: 56 | l=int(input('Sıcaklığı girin: ')) 57 | ısı_birimleri.kelvin_to_fahrenhayt(l) 58 | 59 | else: 60 | print('Yanlış girdi girdiniz.') 61 | --------------------------------------------------------------------------------