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

Loopar


Det finns två typer av loopar i Python, för och medan.

"for" loopen

For-loopar itererar över en given sekvens. Här är ett exempel:

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

For-loopar kan iterera över en sekvens av siffror med hjälp av funktionerna "range" och "xrange". Skillnaden mellan range och xrange är att range-funktionen returnerar en ny lista med siffror inom det specificerade intervallet, medan xrange returnerar en iterator, vilket är mer effektivt. (Python 3 använder range-funktionen som beter sig som xrange). Observera att range-funktionen är nollbaserad.

# Skriver ut siffrorna 0,1,2,3,4
for x in range(5):
    print(x)

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

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

"while" loopar

While-loopar upprepas så länge ett visst boolskt villkor är uppfyllt. Till exempel:

# Skriver ut 0,1,2,3,4

count = 0
while count < 5:
    print(count)
    count += 1  # Detta är samma som count = count + 1

"break" och "continue" satser

break används för att avsluta en for-loop eller en while-loop, medan continue används för att hoppa över det nuvarande blocket och återgå till "for" eller "while" satsen. Några exempel:

# Skriver ut 0,1,2,3,4

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

# Skriver ut endast udda siffror - 1,3,5,7,9
for x in range(10):
    # Kontrollera om x är jämnt
    if x % 2 == 0:
        continue
    print(x)

Kan vi använda "else" klausul för loopar?

Till skillnad från språk som C, CPP.. kan vi använda else för loopar. När loopvillkoret för "for" eller "while" satsen misslyckas, så körs koden i "else" delen. Om en break sats utförs inuti for-loopen, så hoppas "else" delen över. Observera att "else" delen körs även om det finns en continue sats.

Här är några exempel:

# Skriver ut 0,1,2,3,4 och sedan skriver den "count value reached 5"

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

# Skriver ut 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")

Övning

Loopa igenom och skriv ut alla jämna siffror från siffror i listan i samma ordning som de tas emot. Skriv inte ut några siffror som 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