Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Döngüler


Python'da iki tür döngü vardır: for ve while.

"for" döngüsü

For döngüleri verilen bir dizi üzerinde yineleme yapar. İşte bir örnek:

primes = [2, 3, 5, 7]
for prime in primes:
    print(prime)

For döngüleri, "range" ve "xrange" fonksiyonlarını kullanarak bir dizi sayı üzerinde yineleme yapabilir. Range ve xrange arasındaki fark, range fonksiyonunun belirtilen aralıktaki sayılarla yeni bir liste döndürmesi, oysa xrange fonksiyonunun daha verimli bir iterator döndürmesidir. (Python 3, xrange gibi davranan range fonksiyonunu kullanır). Range fonksiyonunun sıfır tabanlı olduğunu unutmayın.

# Sayıları 0,1,2,3,4 yazdırır
for x in range(5):
    print(x)

# 3,4,5 yazdırır
for x in range(3, 6):
    print(x)

# 3,5,7 yazdırır
for x in range(3, 8, 2):
    print(x)

"while" döngüleri

While döngüleri, belirli bir boolean koşulu sağlandığı sürece tekrarlanır. Örneğin:

# Sayıları 0,1,2,3,4 yazdırır

count = 0
while count < 5:
    print(count)
    count += 1  # Bu, count = count + 1 ile aynıdır

"break" ve "continue" ifadeleri

break, bir for döngüsünü veya bir while döngüsünü sonlandırmak için kullanılırken, continue, geçerli bloğu atlamak ve "for" veya "while" ifadesine geri dönmek için kullanılır. Birkaç örnek:

# Sayıları 0,1,2,3,4 yazdırır

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

# Yalnızca tek sayıları yazdırır - 1,3,5,7,9
for x in range(10):
    # x'in çift olup olmadığını kontrol et
    if x % 2 == 0:
        continue
    print(x)

Döngüler için "else" koşulu kullanabilir miyiz?

C, CPP gibi dillerden farklı olarak, döngüler için else kullanabiliriz. "for" veya "while" ifadesinin döngü koşulu başarısız olduğunda, "else" içindeki kod bölümü çalıştırılır. For döngüsü içinde bir break ifadesi çalıştırılırsa "else" kısmı atlanır. "else" kısmı, bir continue ifadesi olsa bile çalıştırılır.

İşte birkaç örnek:

# Sayıları 0,1,2,3,4 yazdırır ve ardından "count değeri 5'e ulaştı" yazdırır

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count değeri %d'ye ulaştı" %(count))

# 1,2,3,4 yazdırır
for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("bu yazdırılmaz çünkü for döngüsü break nedeniyle sonlandırılır ancak koşulun başarısızlığı nedeniyle değil")

Exercise

Burada, numbers listesinde 237 sayısı gelene kadar tüm çift sayıları listede bulundukları sırada yazdırın. 237'den sonra gelen hiçbir sayıyı yazdırmayın.

numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: if number == 237: break if number % 2 == 1: continue print(number) test_object("number", undefined_msg="Define a object `number` using the code from the tutorial to print just the desired numbers from the exercise description.",incorrect_msg="Your `number` object is not correct, You should use an `if` statement and a `break` statement to accomplish your goal.") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy