Anasayfa › Forumlar › Programlama Dilleri › Python Dersleri
- Bu konu 9 yanıt içerir, 2 izleyen vardır ve en son 1 yıl 2 ay önce
Mehmet Emir Arslan tarafından güncellenmiştir.
-
YazarYazılar
-
Mart 20, 2021: 9:27 pm #810
yusuf
Anahtar yönetici::1. Video Python Kurulumu
Python programlama için Visual Studio Code kullanılacaktır. Visual Studio Code kurulumunu videodaki gibi yapınız.
2. Video Matematik İşlemleri
3. Video Stringler
4. Video print
5. Video String İşlemleri
6. Video Değişkenler
2. ÖDEV
Herkese hayırlı akşamlar,
Çarşamba günü Python programlamaya giriş yapmıştık.Temel kavramlarla alakalı izlememiz gereken 6 video vardı. Dün ya da bugün birçoğunuzun bu videoları izlemişsinizdir. Çoğunuz için 1 saati geçmemiştir diye tahmin ediyorum.Bu hafta (17-23 Aralık) Temel kavramlarda ilerlemeye devam edeceğiz. Bir de ufak, alıştırma tadında bir kod yazacağız.
7. Video Listeler (C’deki dizilere benzese de önemli farklılıklar içeriyor, o yüzden bu konuya özellikle dikkat edelim)
8. Video Input ve format Fonksiyonları (yine bu format fonksiyonu C’de olmayan bir fonksyon)
9.Video İf-elif-else
10.Video İf Örnek Program (Her ne kadar İf örnek program dese de başlangıçta mantık operatörlerinden bahsediyor o yüzden ilk 5 dakikasını izleyelim)
11.Video While Döngüsü
12. Video While döngüsü program örneği izlemeye gerek yok. Break komutunun C’deki break ile aynı olduğunu bilmeniz ve girinti meselesini anlamış olmanız yeterli.
Uygulama : Her bir while döngüsünde kullanıcıdan bir sayı alın ve kullanıcıların girdiği sayıları “toplam” isimli bir değişkene ekleyin. Kullanıcı “q” tuşuna bastığı zaman döngüyü sonlandırın ve ekrana toplam değişkenini bastırın.
3. ÖDEV
Herkese hayırlı akşamlar olsun.
Python programlamada ilerlemeye devam ediyoruz. Bu hafta, geçtiğimiz iki haftaya kıyasla C’ye göre farklılık gösteren birtakım konular işleyeceğiz. Bu haftadan sonra ise yaklaşan Finaller nedeniyle, 2 haftalık bir ara olacak.
Bu hafta For Döngüsü ve Fonksiyonları işleyeceğiz inşaAllah.13. Video For Döngüsü ve Range () [C’ye göre ciddi bir işleyiş farklılığı sözkonusu, bu videoyu dikkatle izlemenizi rica ediyorum.)
14. Video For Döngüsü Örnek Program:
15. Video Break ve Continue (C ile tamamen aynı, C görenler izlemeyebilir, C görmeyen arkadaşlar da zorluk yaşamadan anlayacaklardır.)
16. Video Fonksiyonlara Giriş
17. Video Fonksiyonlarda Return
Uygulama : 1’den 10’a kadar olan sayılarla ekrana çarpım tablosu bastırmaya çalışalım. (İç İçe For ve Range fonksiyonları kullanarak…)
4.ÖDEV
18. Video Fonksiyonlarda Varsayılan Değer (C’de mevcut bulunmaya bir özellik)
20. Video Fonksiyonlarda Recursion
21. Video Yerel ve Global Değişkenler
Uygulama : Girdiğimiz sayının asal çarpanlarını bulacak ve bu asal çarpanlardan kaç tane olduğunu yazacak bir kod yazalım, bu kodda bir sayının asal mı olup olmadığını “asal_mı” isimli bir fonksiyon çağırtarak yaptıralım
5. ÖDEVÖnden giden grup olarak bugün 21. Videoyu bitirip, uygulama kodlarını Drivea atmış olmamız gerekiyor..
Şimdi, Perşembe akşama kadar biraz daha ilerleyelim :
22. Video Sözlükler
23. Video modüller
24. Video Modül Örneği
Uygulama : Bir telefon rehber yazalım ( sözlük ile)
6. ÖDEV
Bizde bu haftayı Pythona özgü bir konu olan Try- except konusu ile tamamlayacağız.
25. Video Try ve Except -1
26. Video Try ve Except -2
Uygulama : Videodaki bölme işlemini yaptıracağız ama üzerinde düşünmemiz gereken bir özellik daha ekleyecegiz şöyle :
İnput ile aldığımız 2 sayıyınin bölümünü veren kodu yazıyoruz. Bu kodu çalıştırırken ValueError veya ZeroBolen hatası aldığında tekrardan İnput almaya yönlendirip işlemi bir daha yaptırıyoruz.7. ÖDEV
Bu hafta dosyalara geçiyoruz.
27. Video Dosya Açmak ve Yazmak
28,29. Video Dosyadan Veri Almak, Okumak
30. Video Dosyada değişiklik yapmak
Uygulama : Bir txt dosyasına metin kaydı alabilecek veya mevcut metni okuyabilecek bir program yazalım.
Ben Hadis kaydı alan ve dosyada mevcut bulunan hadisleri yazdıran bir program yazdım. Çünkü sonraki aşamada, Sqlite Veritabanına geçtiğimizde bazı bilgileri sınıflandırarak kayda alacağız. Bunun için de hadisler sened, metin vs sınıflandırmalarıyla iyi bir değerlendirme sahası oluşturuyor.8. ÖDEV
Nesne Tabanlı Programlama
Video 35
Video 36
Video 37
Video 38
Video 39
Video 40
Uygulama : Videolardaki gibi bir oyun yapmak…
Nisan 1, 2024: 11:18 pm #1886Mehmet Emir Arslan
Katılımcı::Ödev 2 Egzersizler :
1- Toplama Aracı: Her bir while döngüsünde kullanıcıdan bir sayı alın ve kullanıcıların girdiği sayıları “toplam” isimli bir değişkene ekleyin. Kullanıcı “q” tuşuna bastığı zaman döngüyü sonlandırın ve ekrana toplam değişkenini bastırın.
2- Eğik Atış Analiz Aracı: Başlangıçta yerde olan bir topun eğik atış analizini yapan bir program yazın.
i) Kullanıcıdan topun ilk hızını ve fırlatma açısını alın. Bu veriler ile topun ulaşacağı maksimum yüksekliği ve menzili hesaplayın. Hesaplanan değerleri terminale yazdırın.
ii) Kullanıcıya bilgi için topun hangi anda hangi yükseklikte ve hangi hızda olduğunu bildiren bir raporu terminale yazdırın. Bunun için kullanıcıdan kaç farklı noktadan veri almak istediği bilgisini alın. Örnek olarak bütün hareket süresi T zaman sürüyorsa ve kullanıcı 3 farklı noktada top verisinin bastırılmasını istediyse topun (0, T/2, T) anlarındaki konum, x eksenindeki hızı ve y eksenindeki hızını okunabilir şekilde terminale yazdırın.
3- Sayı Tahmin Oyunu: Bilgisayarın 1 ile 100 arasında rastgele bir sayı seçtiği ve oyuncunun bu sayıyı tahmin etmesi gereken basit bir oyun yazın. Her adımda kullanıcıdan veri alın, alınan sayının doğru olup olmadığını kontrol edin. Eğer doğru değil ise terminale tahminin yanlış olduğunu yazdırın ve yeni bir tahmin yapmasını isteyin. Oyunu kullanıcı doğru sayıya ulaşana kadar devam ettirin. Kullanıcının her yanlış cevabını bir listeye kaydedin. Kullanıcı doğru sonuca ulaştığında terminale kaç denemede başarılı olduğunu bildiren bir yazı yazın (bunu yaparken listede kaç sayı olduğundan yararlanabilirsiniz). Ekstra olarak olarak isterseniz oyuna en yüksek skorları tutan bir scoreboard ekleyebilirsiniz. (Bilgisayarın rastgele sayıyı seçmesi için random kütüphanesini kullanbilirsiniz)Nisan 1, 2024: 11:18 pm #1885Mehmet Emir Arslan
Katılımcı::Ödev 1 Egzersizler :
1- Hız Dönüştürme Aracı: Hızı m/s ‘den km/h ‘ ye çeviren ve çevirdiği değeri terminale yazdıran bir program yazınız.
2- Daire Sektör Alanı Hesaplama Aracı: Bir dairedeki sektörün alanını daire yarıçapına ve derece cinsinde verilen açıya göre hesaplayan bir program yazınız. (pi sayısı için math kütüphanesinin pi sayısını şu şekilde kullanabilirsiniz “from math import pi”)
3- Basit Pendulum Periyodu Hesaplama Aracı: Basit bir pendulumun periyodunu hesaplayan bir program yazınız. Periyodu hesaplarken pendulumun uzunluğunu ve bulunduğu gezegene göre yerçekimi ivmesini dikkate alın. Bu pendulumun Mars, Dünya ve Jüpiter üzerindeki periyodunu terminale uygun şekilde yazdırınız. (Periyodu hesaplamak içi şu formülü kullanabilirsiniz T = 2*pi*sqrt(L/g). Bu formülde T periyodu, sqrt fonksiyonu karekök işlemini, L pendulumun uzunluğunu, g yerçekimi ivmesini ifade etmektedir.)Nisan 1, 2024: 11:18 pm #1887Mehmet Emir Arslan
Katılımcı::Ödev 3 Egzersizleri:
1- Çarpım Tablosu: 1’den 10’a kadar olan sayılarla ekrana çarpım tablosu bastıran bir program yazınız. (İç İçe For ve Range fonksiyonları kullanarak)
2- Kuadratik Denklem Çözme Aracı: Bir kuadratik denklem şu şekilde ifade edilebilir Ax^2 + Bx + C = 0. Bu denklemin kökleri A, B ve C katsayıları kullanılarak bulunabilir. Inputu bir kuadratik eşitliğin A, B ve C katsayıları, outputu kuadratik eşitliğin kökleri olan bir fonksiyon yazın. Sonrasında bu fonksiyonu kullanarak şu programı yazın : Kullanıcıdan bir kuadratik eşitliğin A, B ve C sayılarını alın. Sonrasında bu denklemin köklerini hesaplayın. Terminale kullanıcının köklerini bulmak istediği eşitliği ve bu eşitliğin köklerini yazıdırın.
3- Sezar Şifreleme/Şifre Çözme Aracı: Inputu şifrelenmek istenen cümle outputu şifrelenmiş cümle olan bir fonksiyon yazın. Sonrasında tam tersi şekilde inputu şifrelenmiş cümle outputu deşifre edilmiş cümle olan bir başka fonksiyon yazın. Şifrelemede deşifrelemede sezar yöntemine göre yapılacaktır (Sezar yöntemini şuradan öğrenebilirsiniz https://tr.wikipedia.org/wiki/Sezar_%C5%9Fifrelemesi). Sonrasında bu fonksiyonları kullanarak şu programı yazın : Kullanıcıya şifreleme mi deşifrelememi yapmak istediğini sorun. Sonrasında kullanıcıdan şifrelemek/deşifrelemek istediği cümleyi alın. Terminale sonucu bastırın.Nisan 1, 2024: 11:18 pm #1888Mehmet Emir Arslan
Katılımcı::Ödev 4 Egzersizleri:
1- Asal Çarpanlarına Ayırma Aracı: Kullanıcıdan bir sayı alın ve alınan sayının asal çarpanlarını bulacak ve bu asal çarpanlardan kaç tane olduğunu yazacak bir kod yazınız.
2- Fibonacci Dizisi Oluşturucu: Kullanıcıdan fibonacci dizisinin kaçıncı elemanına kadar bastırılacağı verisini alın. Sonrasında kullanıcının istediği terime kadar recursion kullanarak fibonacci dizisinin elemanlarını yazıdırın.
3- Faktöriyel Hesaplama Aracı: Kullanıcıdan faktöriyelini bulmak istediği sayıyı alın. Sonrasında bu sayını faktöriyelini recursion kullanarak hesaplayın ve kullanıcıya bildirin.Nisan 1, 2024: 11:19 pm #1889Mehmet Emir Arslan
Katılımcı::Ödev 5 Egzersizleri:
1- Telefon Rehberi: Sözlükleri kullanarak kullanıcının interaktif bir şekilde kullanabileceği bir rehber programı yazın. Kullanıcı isterse rehbere birilerini ekleyebilecek, silebilecek, rehberde kimlerin olduğunu görebilecek, rehber kişilerin bilgilerine erişebilecek. Rehberde kişiler bir sözlük ile tutulacak. Örnek bir rehber şu şekilde olabilir {‘ahmet’: {‘No’: 123, ‘Email’: ‘abc’, ‘Notlar’: ‘abc’}, ‘mehmet’: {‘No’: 123, ‘Email’: ‘abc’, ‘Notlar’: ‘abc’}}.
2- İHA Uçuş Logu Analiz Aracı: İHA’lar uçuş sırasında çeşitli bilgilerin kaydını tutmaktadır. Uçuştan sonra bu kayıtlar incelenerek İHA’nın uçuş sırasında nasıl davrandığına dair fikir edinilebilmektedir. Burada basit bir log analiz aracı yazacağız. Verilen log dosyasındaki verileri okuyarak bir sözlüğe kayıt edin. Sonrasında sözlükteki verileri kullanarak toplam uçuş süresini, İHA’nın bulunduğu maksimum irtifayı ve İHA’nın ortalama hızını hesaplayarak terminale bastırın. (Dosya eklenecek, henüz dosyalar işlenmediği için dosyanın nasıl sözlüğe aktarılacağı yazılacak, verilen bilgileri sözlükteki hangi key’ler kullanılarak bulunacağı yazılacak)Nisan 1, 2024: 11:19 pm #1890Mehmet Emir Arslan
Katılımcı::Ödev 6 Egzersizleri:
1- Hesap Makinesi: Videodaki bölme işlemini yaptıracağız ama üzerinde düşünmemiz gereken bir özellik daha ekleyecegiz şöyle : İnput ile aldığımız 2 sayıyınin bölümünü veren kodu yazıyoruz. Bu kodu çalıştırırken ValueError veya ZeroBolen hatası aldığında tekrardan İnput almaya yönlendirip işlemi bir daha yaptırıyoruz.Nisan 1, 2024: 11:19 pm #1891Mehmet Emir Arslan
Katılımcı::Ödev 7 Egzersizleri:
1- Tahmine Dayalı Hava Analiz Aracı: weather.csv dosyasından hava durumu verilerini okuyan, bu verileri işleyerek tahminler çıkaran ve tarihsel veri desenlerine dayanarak gelecek gün için yağmur tahmini yapan bir program geliştiriniz. Program, basit sezgisel tahminlere odaklanacak ve ertesi gün yağmur yağıp yağmayacağına dair tahminlerde bulunacaktır. (Dosya linki: https://drive.google.com/file/d/1BfVPdiQY6BlAa8xppCwsm6b_efOqIwjx/view?usp=sharing)
i) weather.csv dosyasını açın ve okuyun.
ii) Her satırı ayrıştırarak “MinTemp”, “MaxTemp”, “Rainfall”, “Humidity3pm”, “Pressure3pm” ve “RainTomorrow” verilerini çıkarın.
iii) Veri seti için ortalama sıcaklıkları, toplam yağış miktarını ve ortalama basıncı hesaplayın.
iv) “RainTomorrow” için tahmin mekanizması olarak şunu kullanın: Eğer “Humidity3pm” belirli bir eşiğin (örneğin, %75) üzerinde ve “Pressure3pm” belirli bir eşiğin (örneğin, 1010 hPa) altındaysa, yarın için yağmur tahmin edin.
v) Bu basit tahmini, gerçek “RainTomorrow” sütunuyla karşılaştırarak sezgisel tahmininizin doğruluk oranını hesaplayın.
vi) Ortalama yüksek sıcaklık, toplam yağış miktarı, öğleden sonra ortalama basınç ve yarın için yağmur tahmininin doğruluk oranını içeren bir özet rapor üretin.
Bu özeti, weather_summary.txt adında yeni bir dosyaya yazın.Nisan 1, 2024: 11:19 pm #1892Mehmet Emir Arslan
Katılımcı -
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.