Yeni Başlayanlar İçin Python Alıştırmaları: Cevaplı Uygulamalı Rehber
Yeni başlayanlar için uygun Python alıştırmalarını çözün; basit değişkenlerden başlayıp fonksiyonlar, veri yapıları ve yönlendirmeli projelere ilerleyin.
Python öğrenmenin en iyi yolu, tekrar, deney yapma ve problem çözme yoluyla aşinalık kazanmaktır. Bu yüzden “yaparak öğrenme” felsefesi, etkili programcıların nasıl yetiştirildiğinin merkezinde yer alır.
Kod yazmak, hata yapmak ve hataları düzeltmek, gerçek beceriler kazanmanın yoludur.
Bu yazıda, özellikle yeni başlayanlar için tasarlanmış, yapılandırılmış bir Python alıştırmaları setini birlikte ele alacağız. Alıştırmalar basit değişkenlerle başlar ve kademeli olarak fonksiyonlara, veri yapılarına ve küçük veri projelerine ilerler.
Devam etmeden önce size bir meydan okuma: Açıklamalara bakmadan, bu yazıdaki ilk üç alıştırmayı hemen çözmeyi deneyin. Takılsanız bile, öğrenmenin büyük kısmı denemekle gerçekleşir.
Daha yönlendirmeli bir deneyimi tercih ederseniz, DataCamp kursları sözdiziminizi ve mantığınızı adım adım otomatik olarak kontrol eder. Bu, küçük hataların ilerlemeyi engellemesini önler ve özellikle yeni başlayanlar için faydalıdır. İyi bir başlangıç noktası Introduction to Python kursudur.
Python Alıştırmalarına Başlarken
Alıştırmalara dalmadan önce, Python kodu yazıp çalıştırmak için temel bir ortama ihtiyacınız var. Neyse ki başlamak her zamankinden daha kolay.
Hazırlık
Python’ı yerel olarak çalıştırmak için Visual Studio Code gibi yeni başlayan dostu bir kod düzenleyicisi kurun.
VS Code, açık kaynaklı ve ücretsiz olduğu için kodlamaya başlamak için iyi bir yerdir. Yazılımı indirmek için indirme sayfalarını ziyaret edebilirsiniz. İndirme tamamlandığında kurulumunu yapın.
Hiçbir şey kurmak istemezseniz, tarayıcı tabanlı bir ortam olan ve Python (ve SQL) kodunu anında çalıştırmanıza olanak tanıyan DataLab’i kullanabilirsiniz. Kurulum sorunlarını dert etmeden eğitimleri takip etmek, küçük kod parçalarını denemek ve deney yapmak için idealdir.
Bu alıştırmalar nasıl kullanılmalı
Öğreniminizi en üst düzeye çıkarmak için, bu yazıdaki her alıştırma çözüm veya açıklamayı okumadan önce denenecek şekilde tasarlanmıştır.
Bu alıştırmalardan en iyi şekilde yararlanmanın yolu şudur:
En az 15 dakika boyunca kendi başınıza bir çözüm denemek
Tüm programı yazmak, tekrarlı görünse bile
Yalnızca denedikten sonra cevap anahtarına bakmak
Tüm alıştırmaların eksiksiz cevap anahtarı buradaki bağlantılı DataLab çalışma kitabında mevcuttur. Bu sayede yaklaşımınızı çalışan bir çözüme kıyaslayabilir ve aynı problemi çözmenin alternatif yollarını anlayabilirsiniz.
Değişkenler, Girdi ve Çıktı İçin Python Alıştırmaları
Değerleri saklama, kullanıcı girdisini okuma ve çıktıyı ekrana yazdırma gibi temel yapı taşlarına odaklanan birkaç basit alıştırmayla başlayalım.
Kişiselleştirilmiş selamlama
Öncelikle, kişiselleştirilmiş bir mesaj yazdıran basit bir Python alıştırmasına bakalım.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan input() kullanarak adını ister
Kullanıcıdan input() kullanarak yaşını ister
Biçimlendirilmiş dizgiler kullanarak bir selamlama mesajı yazdırır
Kullanıcının 100 yaşına geldiği yılı hesaplar
Herhangi bir kod yazmadan önce, bu tür basit bir programda bilginin nasıl aktığını düşünmek faydalı olur. Kullanıcı ham girdiyi metin olarak sağlar, Python bu girdiyi değişkenlerde saklar ve siz de bu değerleri anlamlı bir şeye dönüştürürsünüz.
Bu alıştırma, pek çok gerçek programı yansıtır: Kullanıcı girdisi nadiren ilk hâliyle kullanılabilir; önce doğrulanması veya dönüştürülmesi gerekir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
# Task: Ask for the user's name
name =input("Enter your name: ")# Task: Ask for the user's age (note: input() returns a string)
age_str =input("Enter your age: ")# Task: Convert age_str to an int# age = ...# Task: Calculate the year the user turns 100# Tip: you'll need the current year# current_year = ...# year_turn_100 = ...# Task: Print a personalized message using an f-string# print(...)Altyapı:
Uygulanan temel kavramlar
input() her zaman bir dizge döndürür
Dizgeleri int() ile tam sayıya dönüştürme
Sayılarla temel aritmetik
f-string’lerle dizge biçimlendirme
Bu alıştırma, kullanıcı girdisinin çoğu zaman hesaplamalarda kullanılmadan önce dönüştürülmesi gerektiğini öğretir.
Sıcaklık dönüştürücü
Python becerilerinizi bazı temel birim dönüşümlerine uygulayalım.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan Santigrat cinsinden bir sıcaklık ister
Onu şu formülle Fahrenheit’a çevirir: F = (C × 9/5) + 32
Dönüştürülen sıcaklığı yazdırır
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
# Task: Ask the user for a Celsius temperature
celsius_str =input("Temperature in Celsius: ")# Task: Convert the input to a float# celsius = ...# Task: Apply the conversion formula# fahrenheit = ...# Task: Print the result (consider formatting to 1–2 decimal places)# print(...)Altyapı:
Uygulanan temel kavramlar
Kayan noktalı sayılar
Aritmetik ifadeler
float() ile tür dönüştürme
Bu alıştırma, sayısal girdilerin her zaman tam sayı olmadığını ve Python’ın ondalıkları doğal biçimde ele aldığını pekiştirir.
Değiş tokuş mantık bulmacası
Bu alıştırma önemsiz görünebilir, ancak yeni başlayanlar çoğu zaman değişkenleri adım adım boşaltılıp doldurulması gereken kutular gibi düşünür. Python’da nasıl değer değiş tokuşu yapabileceğimize bakalım.
Alıştırma
Size iki değişken veriliyor: a = 5 ve b = 10. Değerlerini tek tek yeniden atama yapmadan değiştirin.
Python, atamayı daha ifade gücü yüksek bir şekilde düşünmeye olanak tanır; değerler tek bir işlemde açılıp yeniden atanabilir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
a =5
b =10# Task: Swap a and b# Hint: Try a temporary variable first.# Then try the Pythonic approach (tuple unpacking).# Task: Print the swapped values to verify# print("a:", a)# print("b:", b)Altyapı:
Uygulanan temel kavramlar
Değişken ataması
Geçici değişkenler ve demet açma (tuple unpacking)
Bu, Python’u hem özlü hem de ifade gücü yüksek kılan demet açmayı tanıtır.
Temeller hakkında daha fazla bilgi için Python Cheat Sheet’imize göz atın.
Kontrol Akışı ve Mantık İçin Python Alıştırmaları
Kontrol akışı, programlarınızın koşullara göre karar vermesini ve eylemleri yinelemesini sağlar.
Tek mi çift mi denetleyici
Modülüs işleci için yaygın bir kullanım, tek/çift kontrolüdür. Bunu aşağıda deneyelim.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan bir sayı ister
% modülüs işleçini kullanır
Sayının çift mi tek mi olduğunu yazdırır
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
# Task: Ask the user for a number
num_str =input("Enter a whole number: ")# Task: Convert to int# num = ...# Task: Use modulo (%) to decide even vs odd# if ...:# print("Even")# else:# print("Odd")Altyapı:
Bu, yeni başlayanların koşulların program davranışını nasıl kontrol ettiğini gördükleri ilk örneklerden biridir.
Klasik FizzBuzz meydan okuması
Pek çok kişinin yaptığı yaygın programlama meydan okumalarından biri FizzBuzz’dır. Bu alıştırmanın ne içerdiğine bakalım.
Alıştırma
1’den 100’e kadar sayıları aşağıdaki kurallarla yazdırın:
3’ün katları için Fizz yazdırın
5’in katları için Buzz yazdırın
Her ikisinin katları için FizzBuzz yazdırın
Bu alıştırma, karar ağaçları ve sınır durumlar üzerine dikkatle düşünmeyi öğretir; bu da gerçek programlar yazarken kritik bir beceridir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
# Task: Loop from 1 to 100for n inrange(1,101):# Task: Check multiples of 3 AND 5 first# if ...:# print("FizzBuzz")# Task: Then multiples of 3# elif ...:# print("Fizz")# Task: Then multiples of 5# elif ...:# print("Buzz")# Task: Otherwise, print the number# else:# print(n)passAltyapı:
Uygulanan temel kavramlar
for döngüleri
Koşullu sıralama
Mantıksal işleçler
Bu alıştırma, programcılar için bir geçiş ritüelidir ve kontrol akışında yapılandırılmış düşünmeyi öğretmek için yaygın olarak kullanılır. Döngüler hakkında daha fazlası için Python Döngüleri eğitimimize bakın.
Tahmin oyunu
Bu alıştırma, kullanıcı girdisine dinamik olarak yanıt veren etkileşimli programları tanıtır.
Alıştırma
Bir program yazın; bu program:
Rastgele bir sayı üretir (random içe aktarılır)
while döngüsüyle tahmin istemeye devam eder
Her tahminden sonra "Too high" veya "Too low" geri bildirimi verir
Doğru sayı tahmin edildiğinde durur
Bu, yeni başlayanların doğrusal olmaktan çok etkileşimli bir program deneyimlediği ilk alıştırmadır. Baştan sona çalışıp çıkan önceki betiklerin aksine, bu program bir koşul sağlanana kadar çalışmaya devam eder.
Buradaki temel kavramsal sıçrama, döngünün ne zaman biteceğini anlamaktır.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
import random
# Task: Pick a random number in a reasonable range# target = random.randint(1, 100)# Task: Use a while loop to keep asking until correct# while ...:# guess_str = input("Your guess (1–100): ")# # guess = ...# # if guess > target:# # print("Too high")# # elif guess < target:# # print("Too low")# # else:# # print("Correct!")# # breakAltyapı:
Uygulanan temel kavramlar
Modül içe aktarma (random)
while döngüleri
Döngü bitiş koşulları
Listeler, Döngüler ve Yineleme İçin Python Alıştırmaları
Listeler, değer koleksiyonlarıyla çalışmanıza; döngüler ise bunları verimli biçimde işlemenize olanak tanır.
Liste toplamı
Bu desen, veri işleme ve analitik iş akışlarında sıkça görülür.
Alıştırma
Yerleşik sum() fonksiyonunu kullanmadan bir listedeki tüm sayıların toplamını alan bir program yazın. Program, başka bir biriktirme yardımcısına güvenmek yerine toplama mantığını döngü içinde açıkça gerçekleştirmelidir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
numbers =[3,7,2,9,4]# Task: Create an accumulator variable# total = ...# Task: Loop through numbers and add each value to total# for ...:# ...# Task: Print the final total# print(total)Altyapı:
Sıradaki alıştırma öncekine biraz benzer, ancak döngü içinde farklı çalışır. Algoritmik düşünmeyi pekiştirir ve yerleşik fonksiyonların içte nasıl çalıştığını yansıtır.
Alıştırma
Kullanıcıya max() kullanmadan listedeki en büyük sayıyı bulma meydan okuması yapın.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
numbers =[12,5,27,3,19]# Task: Initialize current_max using the first element# current_max = numbers[0]# Task: Loop through the remaining elements and update current_max# for ...:# if ...:# current_max = ...# Task: Print the largest number# print(current_max)Altyapı:
Uygulanan temel kavramlar
Kıyaslama mantığı
Yineleme sırasında durumu izleme
Yinelenenleri kaldırma
Gerçek dünya verileri dağınıktır ve bu da çoğu zaman yinelenen veri noktalarını içerir. Aşağıdaki alıştırma sizi veri temizliğine hazırlar.
Alıştırma
Yinelenen öğeler içeren bir listeyi, yalnızca benzersiz öğelerden oluşan yeni bir listeye dönüştürün.
İlk bakışta bu problem basit görünebilir; ancak daha önce gördüklerinizi izlemenin fikrini tanıtır. Bu, yinelenen kayıtları belirleme ve kaldırmanın rutin olduğu veri işlemeye dair temel bir kavramdır.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
data =["apple","banana","apple","orange","banana","kiwi"]# Task: Create a new list for unique items# unique = []# Task: Loop through data and append items you haven't seen yet# for item in data:# if ...:# ...# Task: Print or return the unique list# print(unique)Altyapı:
Uygulanan temel kavramlar
in ile üyelik kontrolleri
Yeni listeler oluşturma
Veri benzersizliğini anlama
Sözlükler ve Dizge İşleme İçin Python Alıştırmaları
Sözlükler ve dizgeler, metinsel verileri düzenlemek ve dönüştürmek için gereklidir. Onlarla nasıl başa çıkacağımıza bakalım.
Karakter frekansı sayacı
Bu alıştırma, yaygın bir veri analizi görevi olan frekans tablolarını nasıl oluşturacağınızı öğretir.
Alıştırma
Bir dizge girişi alın ve her karakterin ne sıklıkta göründüğünü sayan bir sözlük döndürün.
Bu alıştırma, programınız çalışırken dinamik olarak bir veri yapısı oluşturma fikrini temsil eder. Önceden tanımlı bir liste veya sözlükle çalışmak yerine, karşılaştığınız verilere göre girişler oluşturur ve güncellersiniz.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
text =input("Enter some text: ")# Task: Create an empty dictionary# counts = {}# Task: Loop over each character and update counts# for ch in text:# # Option A: counts[ch] = counts.get(ch, 0) + 1# # Option B: if ch in counts: ... else: ...# pass# Task: Print the frequency table# print(counts)Altyapı:
Uygulanan temel kavramlar
Sözlükler
.get() yöntemi
Koşullu başlatma
Basit telefon rehberi
Bu alıştırma, daha sonra tablo şeklindeki veri yapılarını anlamanın temelini oluşturan sözlük mantığına değinir.
Alıştırma
İsimleri ve numaraları bir sözlükte saklayan ve kullanıcının ada göre arama yapmasına olanak tanıyan bir program oluşturun.
Bu alıştırma, programı tek seferlik bir hesaplamadan ziyade kalıcı bir arama aracı olarak kullanma fikrini tanıtır. Birçok uygulamanın bilgiyi nasıl saklayıp geri getirdiğinin basitleştirilmiş bir versiyonunu modellemiş olursunuz.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
phonebook ={# "Alice": "9123 4567",# "Ben": "9876 5432",}# Task: (Optional) add entries via input()# name = input("Name to add: ")# number = input("Number to add: ")# phonebook[name] = number# Task: Search loop (one lookup is fine for a start)
query =input("Search name: ")# Task: Print the number if found, otherwise print a friendly message# if ...:# print(...)# else:# print("Not found")Altyapı:
Uygulanan temel kavramlar
Sözlük aramaları
Anahtar-değer ilişkileri
Sözlüklere daha derinlemesine dalmak isterseniz, Python Dictionary Methods üzerine kapsamlı rehberimizi okumanızı öneririm.
Palindrom denetleyici
Bu alıştırma, palindromlara bakarak metin işlemeyi mantıksal karşılaştırma ile birleştirir.
Alıştırma
Palindrom; tersten okunduğunda da aynı kalan sözcük, ifade, sayı veya karakter dizisidir. Büyük/küçük harf ve boşlukları yok sayarak bir dizgenin tersten okunuşunun aynı olup olmadığını denetleyen bir betik oluşturun.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
text =input("Enter a word or phrase: ")# Task: Normalize (lowercase + remove spaces)# normalized = ...# Task: Reverse using slicing# reversed_text = ...# Task: Compare and print a result message# if ...:# print("Palindrome")# else:# print("Not a palindrome")Altyapı:
Uygulanan temel kavramlar
Dizge yöntemleri (lower(), replace())
Dizge dilimleme ([::-1])
Fonksiyonlar ve Modülerlik İçin Python Alıştırmaları
Fonksiyonlar, yinelenen mantığı tekrar yazmak yerine yeniden kullanılabilir, düzenli kod yazmanızı sağlar.
Faktöriyel hesaplayıcı
Faktöriyel hesaplayıcı, daha büyük programlar kurmak için kritik olan dönüş değerlerini anlamanıza yardımcı olur.
Alıştırma
Bir tamsayı alan ve bir döngü kullanarak faktöriyelini döndüren bir fonksiyon tanımlayın.
Bir değeri yazdırmakla döndürmek arasındaki ayrım özellikle önemlidir. Sonuçları döndürmek, fonksiyonunuzun başka kodlarla birleştirilebilmesini sağlar; bu, programlar tek bir dosyanın ötesine geçtiğinde elzemdir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
deffactorial(n:int)->int:"""Return n! (factorial of n) using a loop."""# Task: Decide how to handle n < 0# Task: Initialize result# result = ...# Task: Multiply result by each integer from 1 to n# for ...:# ...# Task: Return the computed factorial# return resultpass# Optional quick test# print(factorial(5)) # expected: 120Altyapı:
Sırada bir asal sayı doğrulayıcı fonksiyona bakacağız. Bu, yeniden kullanılabilir fonksiyonlar yazmayı öğrenmenize yardımcı olur.
Alıştırma
True döndüren (sayı asal ise) ve aksi halde False döndüren bir fonksiyon yazın.
Asal denetimi, fonksiyonların mantığı temiz biçimde kapsülleyebileceğini de gösterir. Bir kez yazıldıktan sonra, fonksiyon nerede olursa olsun iç işleyişini anlamadan tekrar kullanılabilir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
defis_prime(n:int)->bool:"""Return True if n is prime, otherwise False."""# Task: Handle small cases (n <= 1)# Task: Check divisibility from 2 up to an appropriate limit# for ...:# if ...:# return False# Task: If no divisors found, return True# return Truepass# Optional quick tests# print(is_prime(2)) # expected: True# print(is_prime(15)) # expected: FalseAltyapı:
Uygulanan temel kavramlar
Döngü kullanımı
Erken dönüşler
Mantıksal verimlilik
Esnek argüman yazdırıcı
Bu, birçok Python kütüphanesinde kullanılan gelişmiş fonksiyon imzalarını tanıtır.
Alıştırma
*args kullanarak herhangi sayıda argüman kabul eden ve bunları tek tek yazdıran bir fonksiyon oluşturun.
Bu alıştırma sizi Python’ın daha esnek özelliklerinden birine, değişken uzunluklu argümanlara maruz bırakır. Düşüncenizi sabit girdilerden, farklı kullanım örüntülerine uyum sağlayabilen fonksiyonlara doğru kaydırır.
*args kavrayışı, gerçek dünya Python kütüphanelerini okumayı ve kullanmayı kolaylaştırır; çünkü fonksiyonlar sıklıkla kolaylık ve genişletilebilirlik için esnek sayıda parametre kabul eder.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
defprint_args(*args)->None:"""Print each positional argument on its own line."""# Task: Loop over args and print each one# for ...:# print(...)pass# Optional quick test# print_args("hello", 42, True)Altyapı:
Uygulanan temel kavramlar
Değişken uzunluklu argümanlar
Fonksiyon esnekliği
Python Becerilerini Yönlendirmeli Projelerle Uygulama
Alıştırmalar beceri kazandırır, ancak projeler bu becerileri özgüvene dönüştürür.
Netflix filmlerini araştırmak
Investigating Netflix Movies yönlendirmeli projesi aldatıcı derecede basit bir soru sorar: Filmler zaman içinde kısalıyor mu? Buna yanıt vermek için Netflix başlıklarından oluşan gerçek bir veri kümesiyle çalışacak ve ham veri satırlarını kademeli olarak net, görsel bir içgörüye dönüştüreceksiniz.
Bu projeyi güçlü kılan, yeni başlayan Python temelleri ile uygulamalı veri analizi arasındaki boşluğu kapatmasıdır. Basit mantığın doğru araçlarla birleştiğinde nasıl ölçeklendiğini görürsünüz; hem de yerel olarak hiçbir şey kurmanız gerekmeden.
Dr. Semmelweis ve el yıkamanın keşfi
BuDr. Semmelweis and the Importance of Handwashing projesi, sizi gerçek bir tarihsel sorunu araştıran bir veri analisti rolüne yerleştirir. 19. yüzyılın ortalarında Dr. Ignaz Semmelweis, bir hastane koğuşunda diğerine kıyasla olağandışı derecede yüksek ölüm oranları gözlemledi; ancak nedenini kanıtlayacak hesaplama araçlarından yoksundu.
Tarihsel kayıtları kullanarak, el yıkamanın uygulanmasından önce ve sonra ölüm oranlarını analiz edeceksiniz. Proje, pandas ile tablolu verileri işlemenin, oranları hesaplamanın ve zaman dönemleri arasında ortalamaları karşılaştırmanın üzerinde durur.
NYC Airbnb pazarını keşfetmek
Exploring Airbnb Market Trends projesinde, gerçek dünya analitik işine çok benzeyen bir senaryoya adım atarsınız: Anlamlı bir analize başlamadan önce önemli ölçüde temizlenmesi gereken dağınık, tutarsız veriler.
Veri kümesi; dizge olarak saklanmış fiyatlar, eksik inceleme puanları ve tutarsız biçimlendirmeye sahip kiralık ilanları içerir.
Birincil göreviniz verileri temizlemek ve standartlaştırmaktır. Proje, veri hazırlamanın ön çalışma değil, temel bir analitik beceri olduğu fikrini pekiştirir. Çoğu zaman veri uygulayıcılarının zamanının çoğu veriyi temizlemekle geçer ve bu proje bu yetkinlik için harika bir pratik kontrol noktasıdır.
Sonuç
Basit değişkenler ve kullanıcı girdisiyle başladınız; ardından kontrol akışı, veri yapıları, fonksiyonlar üzerinden ilerlediniz ve sonunda hepsini yönlendirmeli projelerde uyguladınız. Bu alıştırmalar, Python’ın gerçek dünya ortamlarında nasıl kullanıldığına dair iyi bir fikir vermiş olmalı.
Doğal bir sonraki adımınız yapılandırılmış öğrenmedir. Tutarlı pratik ile yapılandırılmış, yönlendirmeli öğretimi eşleştirmek, alıştırmaları uzmanlığa dönüştürmenin en hızlı yoludur. Başlamak için Python Programming veya Data Scientist rotamıza kaydolmanızı öneririm.
Python Alıştırmaları SSS
Python kodlama meydan okumalarını pratik etmek için en iyi platform nedir?⌄
En güçlü platformlar, uygulamalı kodlamayı yapılandırılmış geri bildirimle birleştirir. DataCamp, tarayıcıda kodlama (kurulum yok), alıştırmalarda anlık geri bildirim, yapılandırılmış beceri ve kariyer rotaları ve gerçek veri kümeleriyle yönlendirmeli projeler sunduğu için yönlendirmeli pratikte mükemmeldir.
Aralıklı tekrar yöntemini Python öğrenmek için nasıl etkili şekilde kullanabilirim?⌄
Aralıklı tekrar en iyi, yalnızca sözdizimine değil kavramlara uygulandığında işe yarar. Notları tekrar tekrar okumak yerine, aynı fikirlere zaman içinde giderek zorlaşan alıştırmalarla geri dönün.
Yeni başlayanlar için bazı ileri düzey Python projeleri nelerdir?⌄
Gelişmiş projelere iyi örnekler arasında dosya kalıcılığı olan bir komut satırı yapılacaklar uygulaması oluşturmak, pandas ve temel görselleştirmelerle bir CSV veri kümesini analiz etmek veya herkese açık bir uç noktadan veri çekip işleyen küçük bir API istemcisi yazmak yer alır.
Ben Austin, sağlık sektöründe veri bilimci ve veri analisti olarak yıllara dayanan deneyime sahip bir blogger ve teknoloji yazarıyım. Biyoloji geçmişiyle başladığım teknoloji yolculuğumda, şimdi teknoloji blogum aracılığıyla başkalarının da aynı geçişi yapmasına yardımcı oluyorum. Teknolojiye olan tutkum, onlarca SaaS şirketine yazılı katkılar sunmama, başkalarına ilham vermeme ve deneyimlerimi paylaşmama vesile oldu.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Python öğrenmenin en iyi yolu, tekrar, deney yapma ve problem çözme yoluyla aşinalık kazanmaktır. Bu yüzden “yaparak öğrenme” felsefesi, etkili programcıların nasıl yetiştirildiğinin merkezinde yer alır.
Kod yazmak, hata yapmak ve hataları düzeltmek, gerçek beceriler kazanmanın yoludur.
Bu yazıda, özellikle yeni başlayanlar için tasarlanmış, yapılandırılmış bir Python alıştırmaları setini birlikte ele alacağız. Alıştırmalar basit değişkenlerle başlar ve kademeli olarak fonksiyonlara, veri yapılarına ve küçük veri projelerine ilerler.
Devam etmeden önce size bir meydan okuma: Açıklamalara bakmadan, bu yazıdaki ilk üç alıştırmayı hemen çözmeyi deneyin. Takılsanız bile, öğrenmenin büyük kısmı denemekle gerçekleşir.
Daha yönlendirmeli bir deneyimi tercih ederseniz, DataCamp kursları sözdiziminizi ve mantığınızı adım adım otomatik olarak kontrol eder. Bu, küçük hataların ilerlemeyi engellemesini önler ve özellikle yeni başlayanlar için faydalıdır. İyi bir başlangıç noktası Introduction to Python kursudur.
Python Alıştırmalarına Başlarken
Alıştırmalara dalmadan önce, Python kodu yazıp çalıştırmak için temel bir ortama ihtiyacınız var. Neyse ki başlamak her zamankinden daha kolay.
Hazırlık
Python’ı yerel olarak çalıştırmak için Visual Studio Code gibi yeni başlayan dostu bir kod düzenleyicisi kurun.
Tipik bir kurulum şöyle görünür:
Resmî web sitesinden Python’ı kurun
Visual Studio Code’u kurun
VS Code içinde Python uzantısını ekleyin
Yeni bir
.pydosyası oluşturup kodlamaya başlayınVS Code, açık kaynaklı ve ücretsiz olduğu için kodlamaya başlamak için iyi bir yerdir. Yazılımı indirmek için indirme sayfalarını ziyaret edebilirsiniz. İndirme tamamlandığında kurulumunu yapın.
Hiçbir şey kurmak istemezseniz, tarayıcı tabanlı bir ortam olan ve Python (ve SQL) kodunu anında çalıştırmanıza olanak tanıyan DataLab’i kullanabilirsiniz. Kurulum sorunlarını dert etmeden eğitimleri takip etmek, küçük kod parçalarını denemek ve deney yapmak için idealdir.
Bu alıştırmalar nasıl kullanılmalı
Öğreniminizi en üst düzeye çıkarmak için, bu yazıdaki her alıştırma çözüm veya açıklamayı okumadan önce denenecek şekilde tasarlanmıştır.
Bu alıştırmalardan en iyi şekilde yararlanmanın yolu şudur:
Tüm alıştırmaların eksiksiz cevap anahtarı buradaki bağlantılı DataLab çalışma kitabında mevcuttur. Bu sayede yaklaşımınızı çalışan bir çözüme kıyaslayabilir ve aynı problemi çözmenin alternatif yollarını anlayabilirsiniz.
Değişkenler, Girdi ve Çıktı İçin Python Alıştırmaları
Değerleri saklama, kullanıcı girdisini okuma ve çıktıyı ekrana yazdırma gibi temel yapı taşlarına odaklanan birkaç basit alıştırmayla başlayalım.
Kişiselleştirilmiş selamlama
Öncelikle, kişiselleştirilmiş bir mesaj yazdıran basit bir Python alıştırmasına bakalım.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan
input()kullanarak adını isterKullanıcıdan
input()kullanarak yaşını isterBiçimlendirilmiş dizgiler kullanarak bir selamlama mesajı yazdırır
Kullanıcının 100 yaşına geldiği yılı hesaplar
Herhangi bir kod yazmadan önce, bu tür basit bir programda bilginin nasıl aktığını düşünmek faydalı olur. Kullanıcı ham girdiyi metin olarak sağlar, Python bu girdiyi değişkenlerde saklar ve siz de bu değerleri anlamlı bir şeye dönüştürürsünüz.
Bu alıştırma, pek çok gerçek programı yansıtır: Kullanıcı girdisi nadiren ilk hâliyle kullanılabilir; önce doğrulanması veya dönüştürülmesi gerekir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
input()her zaman bir dizge döndürürDizgeleri
int()ile tam sayıya dönüştürmeSayılarla temel aritmetik
f-string’lerle dizge biçimlendirme
Bu alıştırma, kullanıcı girdisinin çoğu zaman hesaplamalarda kullanılmadan önce dönüştürülmesi gerektiğini öğretir.
Sıcaklık dönüştürücü
Python becerilerinizi bazı temel birim dönüşümlerine uygulayalım.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan Santigrat cinsinden bir sıcaklık ister
Onu şu formülle Fahrenheit’a çevirir:
F = (C × 9/5) + 32Dönüştürülen sıcaklığı yazdırır
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Kayan noktalı sayılar
Aritmetik ifadeler
float()ile tür dönüştürmeBu alıştırma, sayısal girdilerin her zaman tam sayı olmadığını ve Python’ın ondalıkları doğal biçimde ele aldığını pekiştirir.
Değiş tokuş mantık bulmacası
Bu alıştırma önemsiz görünebilir, ancak yeni başlayanlar çoğu zaman değişkenleri adım adım boşaltılıp doldurulması gereken kutular gibi düşünür. Python’da nasıl değer değiş tokuşu yapabileceğimize bakalım.
Alıştırma
Size iki değişken veriliyor:
a = 5veb = 10. Değerlerini tek tek yeniden atama yapmadan değiştirin.Python, atamayı daha ifade gücü yüksek bir şekilde düşünmeye olanak tanır; değerler tek bir işlemde açılıp yeniden atanabilir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Bu, Python’u hem özlü hem de ifade gücü yüksek kılan demet açmayı tanıtır.
Temeller hakkında daha fazla bilgi için Python Cheat Sheet’imize göz atın.
Kontrol Akışı ve Mantık İçin Python Alıştırmaları
Kontrol akışı, programlarınızın koşullara göre karar vermesini ve eylemleri yinelemesini sağlar.
Tek mi çift mi denetleyici
Modülüs işleci için yaygın bir kullanım, tek/çift kontrolüdür. Bunu aşağıda deneyelim.
Alıştırma
Bir program yazın; bu program:
Kullanıcıdan bir sayı ister
%modülüs işleçini kullanırSayının çift mi tek mi olduğunu yazdırır
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Modülüs işleci
if/elsedeyimleriBoole mantığı
Bu, yeni başlayanların koşulların program davranışını nasıl kontrol ettiğini gördükleri ilk örneklerden biridir.
Klasik FizzBuzz meydan okuması
Pek çok kişinin yaptığı yaygın programlama meydan okumalarından biri FizzBuzz’dır. Bu alıştırmanın ne içerdiğine bakalım.
Alıştırma
1’den 100’e kadar sayıları aşağıdaki kurallarla yazdırın:
3’ün katları için
Fizzyazdırın5’in katları için
BuzzyazdırınHer ikisinin katları için
FizzBuzzyazdırınBu alıştırma, karar ağaçları ve sınır durumlar üzerine dikkatle düşünmeyi öğretir; bu da gerçek programlar yazarken kritik bir beceridir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
fordöngüleriKoşullu sıralama
Mantıksal işleçler
Bu alıştırma, programcılar için bir geçiş ritüelidir ve kontrol akışında yapılandırılmış düşünmeyi öğretmek için yaygın olarak kullanılır. Döngüler hakkında daha fazlası için Python Döngüleri eğitimimize bakın.
Tahmin oyunu
Bu alıştırma, kullanıcı girdisine dinamik olarak yanıt veren etkileşimli programları tanıtır.
Alıştırma
Bir program yazın; bu program:
Rastgele bir sayı üretir (
randomiçe aktarılır)whiledöngüsüyle tahmin istemeye devam ederHer tahminden sonra "Too high" veya "Too low" geri bildirimi verir
Doğru sayı tahmin edildiğinde durur
Bu, yeni başlayanların doğrusal olmaktan çok etkileşimli bir program deneyimlediği ilk alıştırmadır. Baştan sona çalışıp çıkan önceki betiklerin aksine, bu program bir koşul sağlanana kadar çalışmaya devam eder.
Buradaki temel kavramsal sıçrama, döngünün ne zaman biteceğini anlamaktır.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Modül içe aktarma (
random)whiledöngüleriDöngü bitiş koşulları
Listeler, Döngüler ve Yineleme İçin Python Alıştırmaları
Listeler, değer koleksiyonlarıyla çalışmanıza; döngüler ise bunları verimli biçimde işlemenize olanak tanır.
Liste toplamı
Bu desen, veri işleme ve analitik iş akışlarında sıkça görülür.
Alıştırma
Yerleşik
sum()fonksiyonunu kullanmadan bir listedeki tüm sayıların toplamını alan bir program yazın. Program, başka bir biriktirme yardımcısına güvenmek yerine toplama mantığını döngü içinde açıkça gerçekleştirmelidir.Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Biriktirici değişken başlatma
fordöngüleriyle yinelemeDeğerleri adım adım güncelleme
Listeyle ilgili daha fazla örnek için En Yaygın Python Liste Soruları rehberimize göz atın.
En büyük sayıyı bulma
Sıradaki alıştırma öncekine biraz benzer, ancak döngü içinde farklı çalışır. Algoritmik düşünmeyi pekiştirir ve yerleşik fonksiyonların içte nasıl çalıştığını yansıtır.
Alıştırma
Kullanıcıya
max()kullanmadan listedeki en büyük sayıyı bulma meydan okuması yapın.Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Yinelenenleri kaldırma
Gerçek dünya verileri dağınıktır ve bu da çoğu zaman yinelenen veri noktalarını içerir. Aşağıdaki alıştırma sizi veri temizliğine hazırlar.
Alıştırma
Yinelenen öğeler içeren bir listeyi, yalnızca benzersiz öğelerden oluşan yeni bir listeye dönüştürün.
İlk bakışta bu problem basit görünebilir; ancak daha önce gördüklerinizi izlemenin fikrini tanıtır. Bu, yinelenen kayıtları belirleme ve kaldırmanın rutin olduğu veri işlemeye dair temel bir kavramdır.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
inile üyelik kontrolleriYeni listeler oluşturma
Veri benzersizliğini anlama
Sözlükler ve Dizge İşleme İçin Python Alıştırmaları
Sözlükler ve dizgeler, metinsel verileri düzenlemek ve dönüştürmek için gereklidir. Onlarla nasıl başa çıkacağımıza bakalım.
Karakter frekansı sayacı
Bu alıştırma, yaygın bir veri analizi görevi olan frekans tablolarını nasıl oluşturacağınızı öğretir.
Alıştırma
Bir dizge girişi alın ve her karakterin ne sıklıkta göründüğünü sayan bir sözlük döndürün.
Bu alıştırma, programınız çalışırken dinamik olarak bir veri yapısı oluşturma fikrini temsil eder. Önceden tanımlı bir liste veya sözlükle çalışmak yerine, karşılaştığınız verilere göre girişler oluşturur ve güncellersiniz.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Sözlükler
.get()yöntemiKoşullu başlatma
Basit telefon rehberi
Bu alıştırma, daha sonra tablo şeklindeki veri yapılarını anlamanın temelini oluşturan sözlük mantığına değinir.
Alıştırma
İsimleri ve numaraları bir sözlükte saklayan ve kullanıcının ada göre arama yapmasına olanak tanıyan bir program oluşturun.
Bu alıştırma, programı tek seferlik bir hesaplamadan ziyade kalıcı bir arama aracı olarak kullanma fikrini tanıtır. Birçok uygulamanın bilgiyi nasıl saklayıp geri getirdiğinin basitleştirilmiş bir versiyonunu modellemiş olursunuz.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Sözlüklere daha derinlemesine dalmak isterseniz, Python Dictionary Methods üzerine kapsamlı rehberimizi okumanızı öneririm.
Palindrom denetleyici
Bu alıştırma, palindromlara bakarak metin işlemeyi mantıksal karşılaştırma ile birleştirir.
Alıştırma
Palindrom; tersten okunduğunda da aynı kalan sözcük, ifade, sayı veya karakter dizisidir. Büyük/küçük harf ve boşlukları yok sayarak bir dizgenin tersten okunuşunun aynı olup olmadığını denetleyen bir betik oluşturun.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Dizge yöntemleri (
lower(),replace())Dizge dilimleme (
[::-1])Fonksiyonlar ve Modülerlik İçin Python Alıştırmaları
Fonksiyonlar, yinelenen mantığı tekrar yazmak yerine yeniden kullanılabilir, düzenli kod yazmanızı sağlar.
Faktöriyel hesaplayıcı
Faktöriyel hesaplayıcı, daha büyük programlar kurmak için kritik olan dönüş değerlerini anlamanıza yardımcı olur.
Alıştırma
Bir tamsayı alan ve bir döngü kullanarak faktöriyelini döndüren bir fonksiyon tanımlayın.
Bir değeri yazdırmakla döndürmek arasındaki ayrım özellikle önemlidir. Sonuçları döndürmek, fonksiyonunuzun başka kodlarla birleştirilebilmesini sağlar; bu, programlar tek bir dosyanın ötesine geçtiğinde elzemdir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Fonksiyonlar hakkında daha fazlası için Python fonksiyonları eğitimimize bakın.
Asal sayı doğrulayıcı
Sırada bir asal sayı doğrulayıcı fonksiyona bakacağız. Bu, yeniden kullanılabilir fonksiyonlar yazmayı öğrenmenize yardımcı olur.
Alıştırma
Truedöndüren (sayı asal ise) ve aksi haldeFalsedöndüren bir fonksiyon yazın.Asal denetimi, fonksiyonların mantığı temiz biçimde kapsülleyebileceğini de gösterir. Bir kez yazıldıktan sonra, fonksiyon nerede olursa olsun iç işleyişini anlamadan tekrar kullanılabilir.
Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Esnek argüman yazdırıcı
Bu, birçok Python kütüphanesinde kullanılan gelişmiş fonksiyon imzalarını tanıtır.
Alıştırma
*argskullanarak herhangi sayıda argüman kabul eden ve bunları tek tek yazdıran bir fonksiyon oluşturun.Bu alıştırma sizi Python’ın daha esnek özelliklerinden birine, değişken uzunluklu argümanlara maruz bırakır. Düşüncenizi sabit girdilerden, farklı kullanım örüntülerine uyum sağlayabilen fonksiyonlara doğru kaydırır.
*argskavrayışı, gerçek dünya Python kütüphanelerini okumayı ve kullanmayı kolaylaştırır; çünkü fonksiyonlar sıklıkla kolaylık ve genişletilebilirlik için esnek sayıda parametre kabul eder.Başlangıç kodu
Size yol göstermesi için bazı başlangıç kodları:
Uygulanan temel kavramlar
Python Becerilerini Yönlendirmeli Projelerle Uygulama
Alıştırmalar beceri kazandırır, ancak projeler bu becerileri özgüvene dönüştürür.
Netflix filmlerini araştırmak
Investigating Netflix Movies yönlendirmeli projesi aldatıcı derecede basit bir soru sorar: Filmler zaman içinde kısalıyor mu? Buna yanıt vermek için Netflix başlıklarından oluşan gerçek bir veri kümesiyle çalışacak ve ham veri satırlarını kademeli olarak net, görsel bir içgörüye dönüştüreceksiniz.
Bu projeyi güçlü kılan, yeni başlayan Python temelleri ile uygulamalı veri analizi arasındaki boşluğu kapatmasıdır. Basit mantığın doğru araçlarla birleştiğinde nasıl ölçeklendiğini görürsünüz; hem de yerel olarak hiçbir şey kurmanız gerekmeden.
Dr. Semmelweis ve el yıkamanın keşfi
Bu Dr. Semmelweis and the Importance of Handwashing projesi, sizi gerçek bir tarihsel sorunu araştıran bir veri analisti rolüne yerleştirir. 19. yüzyılın ortalarında Dr. Ignaz Semmelweis, bir hastane koğuşunda diğerine kıyasla olağandışı derecede yüksek ölüm oranları gözlemledi; ancak nedenini kanıtlayacak hesaplama araçlarından yoksundu.
Tarihsel kayıtları kullanarak, el yıkamanın uygulanmasından önce ve sonra ölüm oranlarını analiz edeceksiniz. Proje,
pandasile tablolu verileri işlemenin, oranları hesaplamanın ve zaman dönemleri arasında ortalamaları karşılaştırmanın üzerinde durur.NYC Airbnb pazarını keşfetmek
Exploring Airbnb Market Trends projesinde, gerçek dünya analitik işine çok benzeyen bir senaryoya adım atarsınız: Anlamlı bir analize başlamadan önce önemli ölçüde temizlenmesi gereken dağınık, tutarsız veriler.
Veri kümesi; dizge olarak saklanmış fiyatlar, eksik inceleme puanları ve tutarsız biçimlendirmeye sahip kiralık ilanları içerir.
Birincil göreviniz verileri temizlemek ve standartlaştırmaktır. Proje, veri hazırlamanın ön çalışma değil, temel bir analitik beceri olduğu fikrini pekiştirir. Çoğu zaman veri uygulayıcılarının zamanının çoğu veriyi temizlemekle geçer ve bu proje bu yetkinlik için harika bir pratik kontrol noktasıdır.
Sonuç
Basit değişkenler ve kullanıcı girdisiyle başladınız; ardından kontrol akışı, veri yapıları, fonksiyonlar üzerinden ilerlediniz ve sonunda hepsini yönlendirmeli projelerde uyguladınız. Bu alıştırmalar, Python’ın gerçek dünya ortamlarında nasıl kullanıldığına dair iyi bir fikir vermiş olmalı.
Doğal bir sonraki adımınız yapılandırılmış öğrenmedir. Tutarlı pratik ile yapılandırılmış, yönlendirmeli öğretimi eşleştirmek, alıştırmaları uzmanlığa dönüştürmenin en hızlı yoludur. Başlamak için Python Programming veya Data Scientist rotamıza kaydolmanızı öneririm.