| 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 |
Bu blog bir Elk.-Elkt. mühendisi ve bir Makine Mühendisi tarafından yönetilmektedir.
22 Ağustos 2025 Cuma
Kahramanmaraş → Göksun İstikameti Tünellerin Resmi ve Özel isimleri
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.
18 Aralık 2024 Çarşamba
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
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
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()