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

Løkker


Der er to typer loops i Python, for og while.

"for" loop

For loops itererer over en given sekvens. Her er et eksempel:

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

For loops kan iterere over en sekvens af tal ved hjælp af "range" og "xrange" funktionerne. Forskellen mellem range og xrange er, at range funktionen returnerer en ny liste med tal inden for den specificerede rækkevidde, mens xrange returnerer en iterator, som er mere effektiv. (Python 3 bruger range funktionen, som fungerer som xrange). Bemærk, at range funktionen er nul-baseret.

# Udskriver tallene 0,1,2,3,4
for x in range(5):
    print(x)

# Udskriver 3,4,5
for x in range(3, 6):
    print(x)

# Udskriver 3,5,7
for x in range(3, 8, 2):
    print(x)

"while" loops

While loops gentager, så længe en bestemt boolesk betingelse er opfyldt. For eksempel:

# Udskriver 0,1,2,3,4

count = 0
while count < 5:
    print(count)
    count += 1  # Dette er det samme som count = count + 1

"break" og "continue" statements

break bruges til at afslutte et for loop eller et while loop, mens continue bruges til at springe det nuværende blok over og vende tilbage til "for" eller "while" udsagnet. Et par eksempler:

# Udskriver 0,1,2,3,4

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

# Udskriver kun ulige tal - 1,3,5,7,9
for x in range(10):
    # Kontroller, om x er lige
    if x % 2 == 0:
        continue
    print(x)

Kan vi bruge "else" klausul for loops?

I modsætning til sprog som C,CPP.. kan vi bruge else for loops. Når loop betingelsen for "for" eller "while" udsagnet fejler, så udføres kode delen i "else". Hvis en break erklæring udføres inde i for loop, så springes "else" delen over. Bemærk, at "else" delen udføres, selvom der er en continue erklæring.

Her er nogle eksempler:

# Udskriver 0,1,2,3,4 og derefter udskriver den "count value reached 5"

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count value reached %d" %(count))

# Udskriver 1,2,3,4
for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("this is not printed because for loop is terminated because of break but not due to fail in condition")

Øvelse

Løb igennem og udskriv alle lige tal fra numrene i listen i den samme rækkefølge, de modtages. Udskriv ikke nogle tal, der kommer efter 237 i sekvensen.

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