22 Ağustos 2025 Cuma

Kahramanmaraş → Göksun İstikameti Tünellerin Resmi ve Özel isimleri

Tünel Adı Tek Tüp Uzunluğu (m) Çift Tüp Toplam Uzunluk (m)
T1 Tüneli (Necip Fazıl Kısakürek) 1417 2834
T2 Tüneli (Sezai Karakoç) 1414 2828
T3 Tüneli (Nuri Pakdil) 4034 8068
T4 Tüneli (Erdem Bayazıt) 476 952
T5 Tüneli (Rasim Özdenören) 613 1226
Çağlayan Tüneli (Mehmet Akif İnan) 2515 5030
Döngel Tüneli (Alaattin Özdenören) 275 550
Tekir Tüneli (Cahit Zarifoğlu) 1174 2348
T0 Tüneli (Abdurrahim Karakoç) 512 1024
T1 Tüneli – Ek Kesim (Bahaattin Karakoç) 1006 2012
Ahmet Eskalen Tüneli (Âşık Mahsuni Şerif) 2881 5762

12 Mayıs 2025 Pazartesi

E.GUVEN başlıklı Kısa Mesaj SMS

.... kimlik numarasiyla adiniza üretilen güvenli elektronik imza olusturmak icin kullanilan nitelikli elektronik sertifikalarinizi e-Devlet Kapisi'ndaki "Nitelikli Elektronik Sertifika Sorgulama" hizmeti üzerinden sorgulayabilirsiniz: https://www.turkiye.gov.tr/btv-elektronik-imza-sertifikalari-sorgulama B002

22 Ocak 2025 Çarşamba

Menzil Genişleticinin LAN portundan İnternet alma

Tp-Link RE305 v3 Menzil Genişletici satın aldım. Satın aldıktan sonra bu cihazın üzerindeki LAN portundan internet alamayacağım ile ilgili yorumlar okumuştum. Youtube üzerindeki saygın kanallardan da böyle bir inceleme gördüm. Fakat test ettiğimde kablosuz olarak modeme bağlanan RE305 cihazımın LAN portuna ethernet kablosu bağlayarak bilgisayarın LAN portuna taktım. Bu şekilde internet alabildim.

Ayrıca bu modelde mesh olmadığı da söylenmişti fakat menüsünde mesh özelliği de olduğunu gördüm.

16 Aralık 2024 Pazartesi

Yüzyıllık Yalnızlık - One Hundred Years of Solitude - Cien Anos De Soledad - Gabriel García Márquez

📍 Macondo’nun Kuruluşu ve Başlangıç

José Arcadio Buendía

  • Úrsula Iguarán ile kuzen evliliği yapar

  • Kuzen evliliğinden doğacak domuz kuyruklu çocuk korkusu → batıl inançlar

  • Bir adam öldürmesi (onur meselesi) → suçluluk ve kaçış

  • Bataklıkları aşarak Macondo’yu kurar

  • Deniz arayışı → içe kapalı ama kaderi dünyaya bağlı bir kasaba

Macondo

  • Dış dünyadan kopuk

  • Zamanın döngüsel aktığı, gerçek ile masalın iç içe geçtiği yer


🔮 Melquíades ve Bilim–Büyü Çatışması

Melquíades (Melkiades)

  • Panayırlarla Macondo’ya gelir

  • Getirdiği şeyler:

    • Mıknatıs

    • Usturlap

    • Pusula

    • Sekstant

    • Portekiz haritaları

  • Bilim = büyü gibi algılanır

  • José Arcadio Buendía’nın:

    • Bilime saplantılı hâle gelmesi

    • Simyaya yönelmesi

    • Akıl sağlığını yitirmesinin başlangıcı


👶 Birinci Kuşak Çocuklar

1️⃣ José Arcadio Buendía (Jr.) – İlk Çocuk

  • Fiziksel gücü, arzuları ve taşkınlığı temsil eder

  • Bir oğlu olur:

    • Jr. José Arcadio Buendía’nın oğlu

  • Kızı:

    • Remedios Buendía

2️⃣ Aureliano Buendía – İkinci Çocuk

  • İçe dönük, sezgisel

  • Önseziler

  • Simya – altın

  • Daha sonra:

    • Albay Aureliano Buendía

    • Sürekli savaşlar, yalnızlık, pişmanlık

3️⃣ Amaranta Buendía – Üçüncü Çocuk

  • Bastırılmış arzular

  • Kıskançlık

  • Hiçbir aşkı tamamlanmaz

  • Yalnızlığı seçer


👧 Eve Sonradan Gelenler

Rebecca (Rebeka)

  • Úrsula’nın bir akrabasının kızı

  • Toprak yeme alışkanlığı

  • Eve:

    • Uykusuzluk

    • Unutkanlık

    • Hafıza kaybı salgınını getirir

➡️ Bu salgın:

  • İnsanlar nesnelerin adlarını unutmasın diye etiketler asar

  • Hafızanın yok oluşu = tarihin silinmesi


🧠 İnanç – Hafıza – Tanrı Arayışı

  • Tanrı arayışı

  • Bilim, din ve büyü birbirine karışır

  • Fotoğraf makinesi:

    • Gerçeği sabitleme çabası

    • Ama zaman yine kayar


⚖️ Devletin Girişi

Don Apolinar Moscote – Sulh Yargıcı

  • Devlet otoritesini Macondo’ya sokar

  • Düzen, yasa, siyaset başlar

Remedios Moscote

  • Aureliano’nun eşi

  • Masumiyetin sembolü

  • Erken ölümü → Aureliano’nun içe kapanışı


👨‍👩‍👧 Sonraki Kuşaklar

  • Aureliano José Buendía (Aureliano’nun oğlu)

  • Santa Sofía de la Piedad

  • Remedios Buendía (Jr. José Arcadio’nun kızı)

→ İsimlerin sürekli tekrar etmesi:

  • Kaderin döngüselliği

  • Aile bireylerinin birbirini yaşaması

  • Kaçınılamayan yalnızlık

4 Aralık 2024 Çarşamba

Televizyon Araştırmalarım

Televizyon Seçimi Hakkında Genel Bilgiler

Televizyon konusunda bazı notlar almak istiyorum.
Bu aralar araştırma yapıyorum fakat çoğu kişi gibi benim de kafam oldukça karışık.

Eskiden CRT (tüplü) televizyonlar vardı. Gelişen teknolojiyle birlikte LCD ve Plazma televizyonlar yaygınlaştı. Zamanla LCD televizyonlar LED tabanlı teknolojilere evrilirken, plazma televizyonların yerini kendi ışığını üreten panel teknolojileri aldı.

Günümüzde LCD tabanlı televizyonlar LED, QLED (Quantum Dot LED) ve MiniLED olarak geliştirilmeye devam ediyor. QLED ve MiniLED teknolojilerinin birlikte kullanıldığı paneller bazı üreticiler tarafından Neo QLED gibi isimlerle sunuluyor.

Kendi ışığını üreten panel teknolojileri tarafında ise OLED ve MicroLED bulunuyor.

Televizyon seçerken ilk dikkat edilmesi gereken konu, televizyonun kaç metre mesafeden izleneceğidir. Bunun ardından televizyonun hangi amaçla kullanılacağı büyük önem taşır. Sadece TV yayınları mı izlenecek, yoksa oyun ve film ağırlıklı mı kullanılacak, buna göre tercih yapılmalıdır.

Televizyon panelleri genel olarak IPS ve VA olmak üzere ikiye ayrılır.

  • IPS paneller, yan açılardan izleme konusunda avantajlıdır ancak kontrast oranları düşüktür.

  • VA paneller, daha yüksek kontrast ve daha derin siyahlar sunar fakat yan açıdan bakıldığında görüntü kaybı yaşanabilir.

Panelde kullanılan COF (Chip On Film) yapısı da önemlidir. Çok düşük COF sayısına sahip paneller genellikle daha ekonomik segmentte yer alır ve uzun vadede risk oluşturabilir.

Panelin gerçek yenileme hızı da önemli bir kriterdir. Televizyon yayınları genellikle 50 Hz olsa da, oyun oynayacak kullanıcılar için 100/120 Hz gerçek panel önerilmektedir. Yazılımsal olarak artırılan hareket iyileştirme değerleri gerçek yenileme hızı değildir.

OLED panellerde, geçmişteki plazma televizyonlara benzer şekilde yanma (burn-in) riski bulunabilir. Güncel OLED modellerinde bu risk büyük ölçüde azaltılmış olsa da, uzun süreli statik görüntü kullanımında QLED gibi LCD tabanlı paneller daha güvenli olabilir.

Renk derinliği tarafında 10 bit veya 8 bit + FRC paneller bulunur. Ancak HDR performansı, yalnızca renk derinliğiyle değil, panel parlaklığıyla birlikte değerlendirilmelidir.

Ekranın mat veya parlak olması da kullanım ortamına göre önemlidir. Parlak ekranlar yansıma yapabilirken, mat ekranlar daha az yansıma sunar.

Büyük ekranlarda (özellikle 55 inç ve üzeri) panel aydınlatma yapısı ve üretim kalitesi daha belirleyici hale gelmektedir.

21 Kasım 2024 Perşembe

Goldmaster HD-1200 Spark Uydu Alıcısı (Yumatu, Amiko, Golden Media, Fulan)

ST7111 işlemcili olan bu uydu alıcısında dual boot var. Biri spark. Diğeri Enigma2. Spark tarafında en son sürüm 1.2.83 Enigma2 tarafında ise bir çok imaj (OpenPLI, OpenATV, SatDreamgr, OpenVix, Pure2, Egami, Blackhole vb.) mevcut. Bu imajlar markaya göre de değişiyor. Goldmaster'a olan Yumatu'ya olmuyor.

Spark tarafı stabil, sorunsuz, hızlı.

Enigma2 tarafında bazı HD kanallarda donma yaşanıyor. SH4 cihazlarda bu sorun baştan beri varmış. Bazı imajlarda cihaz kilitleniyor, yeşil ekrana düşüyor Bazı imajlarda ise görüntü donuyor fakat ses geliyor. Yeşil ekrana düşmüyor.

Enigma2 imaja göre iki farklı şekilde yüklenebiliyor. Bazı imajlar  uydu alıcısı spark olarak açıkken "e2upgrade" plugini kullanılarak, bazı imajlar ise uydu alıcısını açarken uydu alıcısının arka tarafındaki USB girişini kullanarak yüklüyoruz. USB diskimiz mümkünse düşük hızlı, fat32 formatında olmalı.

Enigma2 imajları USB diskin içerisinde enigma2 adında bir klasör oluşturarak bu klasörün içerisine koymalıyız. Diğer türlü uydu alıcısı imajı görmüyor. Ekranda "7 70", "t to" gibi yazılar yazması flash diskte sorun olduğunu gösteriyor.

"U Ld" yazısının "Ld" kısmının yanıp sönmesi ve "e299"a kadar sayının görünmesi de yüklemenin devam ettiğini göstermektedir.

"Load" yazısı uzunca bir süre takılı kaldıysa sorun olduğunu gösteriyor.

İmaj yükleme 10 dakikadan daha uzun sürdüyse o yüklemede sorun olduğunu göstermektedir.





19 Kasım 2024 Salı

HD Kanallarda Donma Sorunu

Goldmaster HD-1200 Spark cihazımda yaşadığım soruna değinmek istiyorum.

Enigma2 tarafına OpenPli 5.0 yükledim ve bazı kanallarda donma, karelenme cihazda kilitlenme yaşamaya başladım. Bu donma, karelenme, cihazda kilitlenme sorununa aradığım çözümlerde derlediklerimi sizlerle paylaşacağım.


Öncelikle çanak anten ile uydu alıcısı arasındaki kablo kontrol edilir.


  • Kablo mümkünse tek parça olmalı. Arada ek vs. var ise kablo uçtan uca değiştirilmeli.
  • LNB girişi ve Uydu Alıcısı tuner girişi kontrol edilmeli.
  • Uydu alıcısına yakın telsiz telefon, hoparlör vb. var ise kaldırılmalı.
  • Uydu alıcısının TV'ye aktardığı görüntü ayarlarının TV'nin desteklediğine ve TV'deki ayarında aynı olduğuna kanaat getirilmesi(Örneğin Uydu alıcısının ayarı 1080p 50 Hz ise TV'nin de ayarının buna getirilmesi gerek. TV maksimum 720p çözünürlüğü destekliyorsa Uydu alıcısının da 720p'ye ayarlanması gerek.)



4 Kasım 2024 Pazartesi

Dikiş Makineleri

Dikiş makineleri mekanik ve elektronik olmak üzere iki gruba ayrılmaktadır. Mekanik makineler, kullanım sırasında ayarların tamamen kullanıcı tarafından yapılması nedeniyle, kullanıcı kaynaklı hatalara daha açıktır. Bu sebeple elektronik modellere kıyasla daha sık arıza yapabilmektedir. Elektronik makinelerde ise birçok ayar otomatik olarak yapıldığından kullanım hataları en aza indirgenmiştir.

Dikiş makinelerinde yatay ve dikey olmak üzere iki farklı mekik sistemi bulunmaktadır. Yatay mekikli makinelerde alt dikiş kalitesi, dikey mekikli modellere göre bir miktar daha düşük olabilmektedir. Ancak tecrübeli bir kullanıcı, makinenin ince ayarlarını doğru şekilde yaparak bu kalite farkını büyük ölçüde tolere edebilir.

Ev tipi dikiş makineleri, yüksek hızda çalışmaya ihtiyaç duymadıkları için genellikle yarım devir sistemine sahiptir. Daha hızlı ve seri çalışmak isteyen kullanıcıların ise tam devir dikiş makinelerini tercih etmeleri daha uygun olacaktır.



28 Mart 2023 Salı

Maraş ve çevresi deprem periyotları

Yıl Yer Tarih Şiddet (Mw) Önemli Bilgiler
115 Antakya 13 Aralık - Tarihi bir deprem; büyük hasar yaratmış olabilir. (Kaynak: İslami Tarih)
526 Antakya 20-29 Mayıs - Büyük ölçekli hasar; çok sayıda can kaybı. (Kaynak: Bizans Tarihçileri)
1114 Maraş 29 Kasım - Yerel halk üzerinde yıkıcı etkiler. (Kaynak: Osmanlı Arşivleri)
1268 Adana - 7.0 Adana Savruk Fayı etkisi; 60.000'den fazla ölü. (Kaynak: Tarihsel Belgeler)
1513 Maraş 28 Mart - Tarihsel olarak önemli bir deprem. (Kaynak: Osmanlı Kaynakları)
1544 Elbistan - - Yıkıcı etkiler; detaylar sınırlı. (Kaynak: Yerel Kaynaklar)
1795 Maraş - - Yerel halk üzerinde olumsuz etkiler. (Kaynak: Tarihsel Kayıtlar)
1822 Maraş - 6.0 Yıkıcı etkiler; detaylar sınırlı. (Kaynak: Yerel Kaynaklar)
1872 Antakya 3 Nisan - Büyük hasar; can kaybı. (Kaynak: Osmanlı Arşivleri)
1939 Erzincan 26 Aralık 7.9 Maraş ve çevresini de etkileyen büyük bir deprem. (Kaynak: Sismoloji Araştırmaları)
1975 Elbistan - 6.5 Yerel hasar; birçok bina yıkıldı. (Kaynak: Yerel Tarih Kaynakları)
1998 Adana 27 Haziran 6.2 Bölgedeki diğer depremlerle bağlantılı. (Kaynak: Sismoloji Raporları)
2023 Maraş 6 Şubat, 04:17 7.8 Büyük yıkım; binlerce insan etkilendi. (Kaynak: Güncel Medya Raporları)
2023 Elbistan 6 Şubat, 13:48 7.5 Maraş depreminden sonra gerçekleşen ikinci deprem. (Kaynak: Güncel Medya Raporları)

27 Ocak 2023 Cuma

SQL Komutları

SELECT * FROM Orders; --Orders tablosundan tüm(*) kolonlarını seç getir.

 

SELECT OrderID FROM Orders; --Orders tablosundan OrderID adlı kolonunu seç getir.

 

SELECT ShipName FROM Orders; --Orders tablosundan ShipName adlı kolonunu seç getir.

 

SELECT OrderID, ShipName FROM Orders; --Orders tablosundan OrderID ve ShipName adlı kolonlarını seç getir.

 

SELECT DISTINCT ShipName FROM Orders; --Orders tablosundan ShipName adlı kolonundaki verileri tekilleştirerek seç getir.

 

SELECT DISTINCT ShipName FROM Orders; --Orders tablosundan ShipName adlı kolonundaki verileri tekilleştirerek seç getir.

 

SELECT * FROM Orders WHERE ShipVia <= 2 --Orders tablosundan tüm(*) kolonlarından ShipVia adlı kolonundaki verilerden 2 den küçük ve 2 ye eşit olanları seç getir.

 

SELECT TOP(10) * FROM Orders WHERE ShipVia = 1; --Orders tablosundan tüm(*) kolonlarından ShipVia adlı kolonundaki verilerden 1 e eşit olanlardan ilk 10 tanesini seç getir.

 

SELECT * FROM Orders ORDER BY ShipName; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verileri varsayılan olarak (küçükten büyüğe / A dan Z ye) sırala

 

SELECT * FROM Orders ORDER BY ShipVia ASC; --Orders tablosundan tüm(*) kolonlarından ShipVia adlı kolonundaki verileri küçükten büyüğe / A dan Z ye doğru sırala

 

SELECT * FROM Orders ORDER BY ShipVia DESC; --Orders tablosundan tüm(*) kolonlarından ShipVia adlı kolonundaki verileri büyükten küçüğe / Z den A ya doğru sırala

 

SELECT TOP(10) * FROM Orders; --Orders tablosundan tüm(*) kolonlarından ilk 10 tanesini seç getir.

 

SELECT TOP(10) * FROM Orders ORDER BY OrderID DESC; --Orders tablosundan tüm(*) kolonlarından OrderID sütununu büyükten küçüğe / Z den A ya doğru sırala ilk 10 tanesini seç getir.

 

SELECT TOP(100) * FROM Orders ORDER BY ShipVia DESC, Freight ASC; --Orders tablosundan tüm(*) kolonlarından ShipVia sütununu büyükten küçüğe / Z den A ya doğru sırala, Freight sütununu küçükten büyüğe / A dan Z ye doğru sırala ilk 100 tanesini seç getir.

 

SELECT * FROM Orders WHERE ShipVia <= 2; --Orders tablosundan tüm(*) kolonlarından ShipVia adlı kolonundaki verilerden 2 den küçük ve 2 ye eşit olanları seç getir.

 

SELECT * FROM Orders WHERE ShipName = 'Ernst Handel'; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden Ernst Handel e eşit olanları seç getir.

 

SELECT * FROM Orders WHERE ShipName = 'Ernst Handel' AND ShipVia = 2; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden Ernst Handel e eşit ve ShipVia adlı kolonundaki verilerden 2 ye eşit olanları seç getir.

 

SELECT * FROM Orders WHERE ShipName = 'Ernst Handel' OR ShipCountry = 'Austria'; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden Ernst Handel e eşit veya ShipCountry adlı kolonundaki verilerden Austria ya eşit olanları seç getir.

 

SELECT * FROM Orders WHERE ShipName LIKE 'a%'; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden a ile başlayanları seç getir.

SELECT * FROM Orders WHERE ShipName LIKE '%a'; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden a ile bitenleri seç getir.

SELECT * FROM Orders WHERE ShipName LIKE '%elli%'; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verilerden içerisinde elli geçenleri seç getir.

 

SELECT * FROM Orders WHERE Freight BETWEEN 11.61 AND 32.38; --Orders tablosundan tüm(*) kolonlarından Freight adlı kolonundaki verilerden 11.61 ile 32.38 kapalı aralığındakileri seç getir.

 

SELECT * FROM Orders WHERE Freight IN (11.61,32.38); --Orders tablosundan tüm(*) kolonlarından Freight adlı kolonundaki verilerden 11.61 ile 32.38 içerenleri seç getir.

 

SELECT * FROM Orders WHERE ShipCountry='Germany' AND ShipCity='Münster'; --Orders tablosundan tüm(*) kolonlarından ShipCountry adlı kolonundaki verilerden Germany ve ShipCity adlı kolınundaki verilerden Münster olanları seç getir.

 

SELECT * FROM Orders WHERE ShipCountry LIKE 'Ge%' AND ShipCity LIKE 'Mü%'; --Orders tablosundan tüm(*) kolonlarından ShipCountry adlı kolonundaki verilerden Ge ile başlanyanları ve ShipCity adlı kolınundaki verilerden Mü ile başlayanları seç getir.

 

SELECT * FROM Orders ORDER BY ShipName ASC, ShipCity, ShipCountry DESC; --Orders tablosundan tüm(*) kolonlarından ShipName adlı kolonundaki verileri A dan Z ye / küçükten büyüğe, ShipCity ve ShipCountry adlı kolonlarındaki verileri Z den A ya / büyükten küçüğe seç getir.

 

INSERT INTO Orders 

31 Ekim 2022 Pazartesi

Kapı şifresini i defa yanlış girince t saniye şifre girilmesini engelleyen Python Kod Örneği

import time
i = int(input("Kapı şifresini kaç defa yanlış girme hakkı tanımlansın? :"))
t = int(input("Kapı şifresini yanlış girilince kaç saniye beklenilsin? :"))
sifre = int(input("Kapı şifresini belirleyiniz. :"))
sifreTekrar = int(input("Kapı şifresini tekrar giriniz: "))
while True:
    if sifre == sifreTekrar:
        while True:
            girilenSifre = int(input("Kapı şifresini giriniz: "))
            if girilenSifre != sifre:
                i-=1
                print(f"Şifreyi yanlış girdiniz. {i+1} hakkınızdan {i} hakkınız kaldı. Bip sesi çıkar.")
                if i==0:
                    print(f"Tekrar deneme için {t} saniye beklemelisiniz.")
                    time.sleep(t)
                else:
                    continue
            else:
                print("Kapı açıldı.")
                break
        break
    else:
        print("Girilen şifreler uyuşmamaktadır. Uygulamayı tekrar çalıştırın.")
        break

21 Ekim 2022 Cuma

Python Özet

print("Python")

print("Naber")

print("Mustafa", 14, "Murat", "Coşkun")

print("MustafaMuratCoşkun")

print("Mustafa\nMurat\nCoşkun")

print("19","09","1993",sep="/")

print("{} + {} = {}".format(2,3,2+3))




# Tek satırlık yorum satırıdır.

"""

Çok satırlı yorum satırıdır.

"""




a = 3 # integer veri tipindedir.

b = 3.14 # float veri tipindedir.

c = "Python"  # string veri tipindedir.

d = [1,2,3,4,5,"Python"]  # list veri tipindedir.

e = (1,2,3,4,5,"Python")  # tuple veri tipindedir. 

f = {"Elma":3, "Armut":4, "Kiraz":5}  # dict veri tipindedir.

g = False  # Bool veri tipindedir.

print(type(a))  # a değişkeninin veri tipini döndürür.

print(a,b,c)

print(3 + 4)  # 3 ile 4'ü toplar.

print(10 - 3) # 10'dan 3'ü çıkarır.

print(10 * 3)  # 10 ile 3'ü çarpar.

print(10 / 4)  # 10'u 4'e bölüp bölümü verir.

print(10 // 4) # 10'u 4'e bölüp bölümün tamsayı olan kısmını verir.

print(10 % 4) # 10'u 4'e bölüp kalanı döndürür.




a = 5

b = 10

c = a + 2 * b

print(c)




a = "Python"

b = "Programlama"

c = "Dili"

d = a + b + c

print(d)  # Ekrana Python Programlama Dili yazar.




a = "Python"

print(a * 5) # Ekrana PythonPythonPythonPythonPython yazar.

print("*" * 1) # *

print("*" * 2) # **

print("*" * 3) # ***

print("*" * 4) # ****

print("*" * 5) # *****




a = "Python"

print(a[0]) # a değişkenin 0. indeksli elemanı olan P karakterinin döndürür.

print(a[2])# a değişkeninin 2. indeksli elemanı olan t karakterinin döndürür.

print(len(a)) # a değişkeninin karakter sayısını döndürür.

print(a[len(a)-1]) # a değişkeninin son elemanını döndürür.

print(a[0:2]) # a değişkeninin 0. indeksli karakterinden (0. indeksli karakteri dahil) başla 2. indeksli karakterine kadar (2. indeksli karakter hariç) olan kısmı döndürür.

print(a[2:]) # a değişkeninin 2. indeksli karakterinden (2. indeksli karakteri dahil) başla son karaktere kadar (son karakter dahil) olan kısmı döndürür.

print(a[:4]) # a değişkeninin 0. indeksli karakterinden (0. indeksli karakteri dahil) başla 4. indeksli karakterine kadar (4. indeksli karakter hariç) olan kısmı döndürür.

print(a[:]) # a değişkeninin 0. indeksli karakterinden (0. indeksli karakteri dahil) başla son karaktere kadar (son karakter dahil) olan kısmı döndürür.




b = [1,2,3,4,5,6,7]

print(len(b)) # b değişkeninin karakter sayısını döndürür.

print(b[0:6:2]) # b değişkeninin 0. indeksli karakterinden (0. indeksli karakteri dahil) başla 6. indeksli karakterine kadar (6. indeksli karakter hariç) olan kısmı 2'şer atlayarak döndürür.

print(b[::2]) # b değişkeninin 0. indeksli karakterinden (0. indeksli karakteri dahil) başla son karaktere kadar (son karakter dahil) olan kısmı 2'şer atlayarak döndürür.




a = {"Elma":3, "Armut":4, "Kiraz":5}

print(a["Elma"]) # 3 değerini döndürür.

print(a["Kiraz"]) # 5 değerini döndürür.

print(a["Çilek"]) # KeyError hatası döner. Çilek değişkenin içerisinde yok.




yas = input("Yaşınızı Girin: ") # Kullanıcından veri girmesini isteriz. Bu veri string şeklinde gelir. Matematiksel işlemler için int ve float gibi türlere dönüştürmeliyiz.

print("Yaşınız: ", yas)




yas = int(input("Yaşınızı Girin: "))

if yas < 18:

    print("Mekana giremezsiniz...")

else:

    print("Hoşgeldiniz...")




islem = int(input("İşlemi Giriniz: "))

if islem == 1:

    print("İşlem 1'i seçtiniz...")

elif islem == 2:

    print("İşlem 2'yi seçtiniz...")

elif islem == 3:

    print("İşlem 3'ü seçtiniz...")

else:

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




a = 3

b = 4

if a == 3 and b == 4:

    print("Evet")

else:

    print("Hayır")




a = 3

b = 4

if a == 3 and b == 5:

    print("Evet")

else:

    print("Hayır")




a = 3

b = 4

if a == 3 or b == 5:

    print("Evet")

else:

    print("Hayır")




a = 3

b = 4

if a == 4 or b == 5:

    print("Evet")

else:

    print("Hayır")




if (not (3 < 4)):

    print("Evet")




if (not (3 == 4)):

    print("Evet")




i = 0

while i < 10:

    print("i: ", i)

    i = i + 1




i = 0

while i < 10:

    print("i: ", i)

    i += 1




i = 0

while i < 10:

    print("i: ", i)

    i += 2




i = 0

while i < 10:

    print("i: ", i)

    i += 3




i = 1

while (i < 1000):

    print("i: ",i)

    i *= 2 # i = i * 2 demektir. 




# break: Herhangi bir döngüde çalıştırıldığı zaman döngüyü direk olarak sona erdirmek.

i = 0

while i < 10:

    if i == 5:

        break # Herhangi bir döngüde çalıştırıldığı zaman döngüyü direk olarak sona erdirmek.

    print("i: ", i)

    i += 1




# continue: Herhangi bir döngüde çalıştırıldığı zaman döngünün en başına dönmek. Sonsuz döngüye girmemek için dikkatli kullanılmalı.

i = 0

while i < 10:

    if i == 3 or i == 5:

        i += 1 

        continue: # Herhangi bir döngüde çalıştırıldığı zaman döngünün en başına dönmek. Sonsuz döngüye girmemek için dikkatli kullanılmalı.

        print("i: ", i)

    i += 1




a =  [1, 2, 3, 4, 5, 6]

for eleman in a:

    print(eleman)




b =  "Python"

for karakter in b:

    print(karakter)




# range: Verdiğimiz değerlere göre bize liste oluşturur.

for sayi in range(0, 100): # 0'dan başlayarak 100'e kadar (100 dahil değil)

    print(sayi)




for sayi in range(20, 30): # 20'den başlayarak 30'a kadar (30 dahil değil)

    print(sayi)




for sayi in range(10, 100, 2): # 10'dan başlayarak 100'e kadar (100 dahil değil) 2 atlayarak git.

    print(sayi)




# fonksiyonlar

def selamla():

    print("Merhaba")

    print("Nasılsın ?")

selamla()




def selamla(isim):

    print("Merhaba", isim)

    print("Nasılsın ?")

selamla("Murat")

selamla("Ayşe")




def selamla(isim = "İsimsiz"): # varsayılan değer "İsimsiz".

    print("Merhaba", isim)

    print("Nasılsın ?")

selamla()




def selamla(isim = "İsimsiz"): # varsayılan değer "İsimsiz".

    print("Merhaba", isim)

    print("Nasılsın ?")

selamla("Murat")




def toplama(a, b, c):

    print("Toplam: ", a + b + c)

toplama(3, 4, 5)




def toplama(a, b, c):

    print("Toplam: ", a + b + c)

toplama(3, 4, 5)




# dışarıya çıktı göndermek için return kullanalım.

def toplama(a, b, c):

    return a + b + c

toplam = toplama(3, 4, 5)

print(toplam)




# Metot kullanımı

a = "araba"

print(len(a)) # a değişkeninin eleman sayısını döndürür.

print(a.startswith("a")) # Bu metot a değişkeninin ilk karakterini döndürür. True döner.

print(a.startswith("b")) # Bu metot a değişkeninin ilk karakterini döndürür. False döner.

print(a.endswith("a")) # Bu metot a değişkeninin son karakterini döndürür. True döner.

print(a.startswith("b")) # Bu metot a değişkeninin son karakterini döndürür. False döner.

a = a.replace("a", "o") # Bu metot a değişkeninin içerisindeki a karakterlerini o ile değiştirir ve a değişkenine atar.




liste = [1, 2, 3, 4, 5, 6]

print(len(liste)) # liste değişkeninin eleman sayısını döndürür.

liste.append("Python") # listenin sonuna Python elemanını ekler.

liste.pop() # listemizin son elemanını listeden çıkarır.

liste.pop(0) # listemizin 0. indeksli elemanını listeden çıkarır.




# Dosya işlemleri

file = open("dosya.txt", "w") # dosya.txt dosyasını her defasında tekrar tekrar oluşturup açıp içerisindeki verileri silerek yazma kipi ile açar.

file.write("Naber Python") # dosya.txt dosyasına "Naber Python" yazar.

file.close() # Dosya ile işimiz bittiğinde dosyayı bu şekilde kapatmalıyız.




file = open("dosya.txt", "a") # dosya.txt dosyası yoksa oluşturup açarak varsa da yeniden oluşturmadan açarak içerisindeki verileri silmeden ve yazma kipi ile açar.

file.write("Naber Java") # dosya.txt dosyasına "Naber Java" yazar.

file.close() # Dosya ile işimiz bittiğinde dosyayı bu şekilde kapatmalıyız.




file = open("dosya.txt", "r") # dosya.txt dosyası  varsa açarak içerisindeki içeriği okuma kipi ile açar.

veri = file.read() # dosya.txt dosyasının tüm içeriğini veri değişkenine atar.

file.close() # Dosya ile işimiz bittiğinde dosyayı bu şekilde kapatmalıyız.




file = open("dosya.txt", "r") # dosya.txt dosyası  varsa açarak içerisindeki içeriği okuma kipi ile açar.

veri = file.read(10) # dosya.txt dosyasının ilk kolonundan başlayarak yalnızca 10 karakterini alarak veri değişkenine atar.

file.close() # Dosya ile işimiz bittiğinde dosyayı bu şekilde kapatmalıyız.




file = open("dosya.txt", "r") # dosya.txt dosyası  varsa açarak içerisindeki içeriği okuma kipi ile açar.

file.seek(20) # dosya.txt dosyasının ilk kolonundan 20 karakter ileriye gider.

veri = file.read(10) # dosya.txt dosyasının 20 karakter ilerisindeki kolonundan başlayarak( .seek metodundan dolayı) yalnızca 10 karakterini daha alarak veri değişkenine atar.

file.close() # Dosya ile işimiz bittiğinde dosyayı bu şekilde kapatmalıyız.




file = open("dosya.txt", "r") # dosya.txt dosyası  varsa açarak içerisindeki içeriği okuma kipi ile açar.

for satir in file: # bu dosyanın her bir satırını for döngüsü yardımıyla okumak için. 

    print(satir)

file.close()




#class oluşturma

class Account:

    def __init__(self, isim, numara, bakiye):

        self.isim = isim

        self.numara = numara

        self.bakiye = bakiye

account = Account("Mustafa Murat Coşkun", 123456,1000)




#class oluşturup her bir objemize metot vermek

class Account:

    def __init__(self, isim, numara, bakiye):

        self.isim = isim

        self.numara = numara

        self.bakiye = bakiye

    def hesapBilgileri(self):

        print("İsim: ",self.isim)

        print("Numara: ",self.numara)

        print("Bakiye: ",self.bakiye)

    def paraCek(self, miktar):

        if (self.bakiye - miktar < 0):

              print("Bakiyeniz yeterli değil...")

        else:

            self.bakiye -= miktar

            print("Yeni Bakiye: ", self.bakiye)

    def paraYatir(self, miktar):

        self.bakiye += miktar

        print("Yeni Bakiye: ", self.bakiye)

account = Account("Mustafa Murat Coşkun", 123456,1000)




account.hesapBilgileri()

account.paraCek(1200) # Bakiyeniz yeterli değil...




account.hesapBilgileri()

account.paraCek(800) # Yeni Bakiye: 200

account.hesapBilgileri()




account.hesapBilgileri()

account.paraYatir(800) # Yeni Bakiye: 1800

account.hesapBilgileri()