hur många gånger skriver den ut varv?
i=1
while True:
print("varv")
i=i+1
if i>10:
break
if i==5:
continue
i=i+2
Hej! Jag är med på att koden skriver ut varv 5 gånger efter att den nått i==5: men sen förstår jag inte varför den inte skriver ut varv upp 7 gånger iaf tills i>10: är uppnådd eller något. Liksom den borde väl fortsätta med att lägga 5 med 2 sen skriva ut varv då i=7 och sen varv då i=9 och till slut får vi i=11 då den går ut ur loopen.
Jag tänker mig såhär enligt min notering.
Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1
while True:
print("varv: ", i)
i=i+1
print ("i+=1 -> ", i)
if i>10:
print ("i>10 -> break")
break
if i==5:
print ("i==5 -> continue")
continue
i=i+2
print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1
i+=1 -> 2
i+=2 -> 4
varv: 4
i+=1 -> 5
i==5 -> continue
varv: 5
i+=1 -> 6
i+=2 -> 8
varv: 8
i+=1 -> 9
i+=2 -> 11
varv: 11
i+=1 -> 12
i>10 -> break
** Process exited - Return Code: 0 **
sictransit skrev:Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1 while True: print("varv: ", i) i=i+1 print ("i+=1 -> ", i) if i>10: print ("i>10 -> break") break if i==5: print ("i==5 -> continue") continue i=i+2 print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1 i+=1 -> 2 i+=2 -> 4 varv: 4 i+=1 -> 5 i==5 -> continue varv: 5 i+=1 -> 6 i+=2 -> 8 varv: 8 i+=1 -> 9 i+=2 -> 11 varv: 11 i+=1 -> 12 i>10 -> break ** Process exited - Return Code: 0 **
Men hur ska man komma ihåg hur allt sker i ordning på ett prov utan att testköra? När når den i=i+2? Är det när första villkoret och andra villkoret inte är uppfyllda? Jag ser också att efter continue så är vi tillbaka i=i+1 utan att utföra i=i+2 , varför går den inte dit?
Nej, då får man förstås exekvera den i huvudet, eller med penna/papper.
Nu ser du ju i alla fall vad som händer i just den koden du postade.
sictransit skrev:Nej, då får man förstås exekvera den i huvudet, eller med penna/papper.
Nu ser du ju i alla fall vad som händer i just den koden du postade.
Jo men den ska jag komma ihåg och titta igenom.
destiny99 skrev:sictransit skrev:Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1 while True: print("varv: ", i) i=i+1 print ("i+=1 -> ", i) if i>10: print ("i>10 -> break") break if i==5: print ("i==5 -> continue") continue i=i+2 print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1 i+=1 -> 2 i+=2 -> 4 varv: 4 i+=1 -> 5 i==5 -> continue varv: 5 i+=1 -> 6 i+=2 -> 8 varv: 8 i+=1 -> 9 i+=2 -> 11 varv: 11 i+=1 -> 12 i>10 -> break ** Process exited - Return Code: 0 **
Men hur ska man komma ihåg hur allt sker i ordning på ett prov utan att testköra? När når den i=i+2? Är det när första villkoret och andra villkoret inte är uppfyllda? Jag ser också att efter continue så är vi tillbaka i=i+1 utan att utföra i=i+2 , varför går den inte dit?
Den når bara i=i+2 om den tar sig förbi de två kontrollerna i>10 och i==5.
Continue avbryter exekveringen av koden (inne i loopen) och börjar om från while.
Break avbryter hela loopen och du ramlar ur programmet.
sictransit skrev:destiny99 skrev:sictransit skrev:Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1 while True: print("varv: ", i) i=i+1 print ("i+=1 -> ", i) if i>10: print ("i>10 -> break") break if i==5: print ("i==5 -> continue") continue i=i+2 print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1 i+=1 -> 2 i+=2 -> 4 varv: 4 i+=1 -> 5 i==5 -> continue varv: 5 i+=1 -> 6 i+=2 -> 8 varv: 8 i+=1 -> 9 i+=2 -> 11 varv: 11 i+=1 -> 12 i>10 -> break ** Process exited - Return Code: 0 **
Men hur ska man komma ihåg hur allt sker i ordning på ett prov utan att testköra? När når den i=i+2? Är det när första villkoret och andra villkoret inte är uppfyllda? Jag ser också att efter continue så är vi tillbaka i=i+1 utan att utföra i=i+2 , varför går den inte dit?
Den når bara i=i+2 om den tar sig förbi de två kontrollerna i>10 och i==5.
Continue avbryter exekveringen av koden (inne i loopen) och börjar om från while.
Break avbryter hela loopen och du ramlar ur programmet.
Okej. Menar du att continue utför inte utskrift av koden medan loopningen körs ? Jag trodde continue fortsatte bara som namnet säger. Vad break gör är jag med på.
destiny99 skrev:sictransit skrev:destiny99 skrev:sictransit skrev:Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1 while True: print("varv: ", i) i=i+1 print ("i+=1 -> ", i) if i>10: print ("i>10 -> break") break if i==5: print ("i==5 -> continue") continue i=i+2 print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1 i+=1 -> 2 i+=2 -> 4 varv: 4 i+=1 -> 5 i==5 -> continue varv: 5 i+=1 -> 6 i+=2 -> 8 varv: 8 i+=1 -> 9 i+=2 -> 11 varv: 11 i+=1 -> 12 i>10 -> break ** Process exited - Return Code: 0 **
Men hur ska man komma ihåg hur allt sker i ordning på ett prov utan att testköra? När når den i=i+2? Är det när första villkoret och andra villkoret inte är uppfyllda? Jag ser också att efter continue så är vi tillbaka i=i+1 utan att utföra i=i+2 , varför går den inte dit?
Den når bara i=i+2 om den tar sig förbi de två kontrollerna i>10 och i==5.
Continue avbryter exekveringen av koden (inne i loopen) och börjar om från while.
Break avbryter hela loopen och du ramlar ur programmet.
Okej. Menar du att continue utför inte utskrift av koden medan loopningen körs ? Jag trodde continue fortsatte bara som namnet säger. Vad break gör är jag med på.
Ja, continue avbryter iterationen och påbörjar nästa (varv): Python continue Keyword
sictransit skrev:destiny99 skrev:sictransit skrev:destiny99 skrev:sictransit skrev:Ett tips är att instrumentera koden, så det är lätt att se vad som händer:
i=1 while True: print("varv: ", i) i=i+1 print ("i+=1 -> ", i) if i>10: print ("i>10 -> break") break if i==5: print ("i==5 -> continue") continue i=i+2 print ("i+=2 -> ", i)
När jag kör den skrivs följande ut:
varv: 1 i+=1 -> 2 i+=2 -> 4 varv: 4 i+=1 -> 5 i==5 -> continue varv: 5 i+=1 -> 6 i+=2 -> 8 varv: 8 i+=1 -> 9 i+=2 -> 11 varv: 11 i+=1 -> 12 i>10 -> break ** Process exited - Return Code: 0 **
Men hur ska man komma ihåg hur allt sker i ordning på ett prov utan att testköra? När når den i=i+2? Är det när första villkoret och andra villkoret inte är uppfyllda? Jag ser också att efter continue så är vi tillbaka i=i+1 utan att utföra i=i+2 , varför går den inte dit?
Den når bara i=i+2 om den tar sig förbi de två kontrollerna i>10 och i==5.
Continue avbryter exekveringen av koden (inne i loopen) och börjar om från while.
Break avbryter hela loopen och du ramlar ur programmet.
Okej. Menar du att continue utför inte utskrift av koden medan loopningen körs ? Jag trodde continue fortsatte bara som namnet säger. Vad break gör är jag med på.
Ja, continue avbryter iterationen och påbörjar nästa (varv): Python continue Keyword
Yes ok!