4 svar
30 visningar
destiny99 behöver inte mer hjälp
destiny99 Online 8065
Postad: 13 dec 11:29 Redigerad: 13 dec 11:32

vad skriver koden ut?

a,b,c=1,2,3
for i in range(2,7,3):
    print(i,a,b,c,end=" ") #skriver ut 2 1 2 3
    if i<4:
        a=a+1
        continue 
    b=b+1
    if i>5:
        c=c+1 
print()

 Hej! Jag valde alternativ G) men förstår inte varför rätt svar är 2 1 2 3 5 2 2 3. Jag tänker vi börjar från i =2 och sen ska vi stanna vid 7 (exkluderad) dvs 2,3,4,5,6 men eftersom vi hoppar 3 steg så blir det 2 ,5 så tänker jag mig att den tittar på när i är mindre 4 vilket är då i=2 och sen får vi a=2 och b=3 , men sen när den ska gå till i=5 så tänker jag mig att villkoret inte uppfylls. 

Laguna Online 30693
Postad: 13 dec 11:37

Vad är alternativ G?

destiny99 Online 8065
Postad: 13 dec 11:43 Redigerad: 13 dec 11:46
Laguna skrev:

Vad är alternativ G?

Hm jag la märkte till att b=b+1 raden är utanför if blocket efter continue. Men jag är osäker på när den liksom "körs" och i vilken ordning allt görs efter iteration 1 : 2,1,2,3 och iteration 2: 5, 1,2,3

destiny99 skrev:
Laguna skrev:

Vad är alternativ G?

Hm jag la märkte till att b=b+1 raden är utanför if blocket efter continue. Men jag är osäker på när den liksom "körs" och i vilken ordning allt görs efter iteration 1 : 2,1,2,3 och iteration 2: 5, 1,2,3

Första iterationen:

  • i=2
  • 2123 skrivs ut
  • rad 4 är uppfyllt, så a+=1
  • rad 6: continue påbörjar nästa iteration

Andra iterationen:

  • i=5
  • 5223 skriv ut
  • rad 4 är ej uppfyllt
  • b+=1
  • rad 8 är ej uppfyllt

Tredje iterationen:

  • i=8, vilket är inte är <7, så loopen avbryts
destiny99 Online 8065
Postad: 13 dec 12:49 Redigerad: 13 dec 12:57
sictransit skrev:
destiny99 skrev:
Laguna skrev:

Vad är alternativ G?

Hm jag la märkte till att b=b+1 raden är utanför if blocket efter continue. Men jag är osäker på när den liksom "körs" och i vilken ordning allt görs efter iteration 1 : 2,1,2,3 och iteration 2: 5, 1,2,3

Första iterationen:

  • i=2
  • 2123 skrivs ut
  • rad 4 är uppfyllt, så a+=1
  • rad 6: continue påbörjar nästa iteration

Andra iterationen:

  • i=5
  • 5223 skriv ut
  • rad 4 är ej uppfyllt
  • b+=1
  • rad 8 är ej uppfyllt

Tredje iterationen:

  • i=8, vilket är inte är <7, så loopen avbryts

Ok men då har jag fått en bra bild på vad som händer. Jag trodde att programmet inte kördes när i=5 för att 5<4 stämmer ej och då skriver den ut bara vid andra iterationen 5123 och vid första iterationen skriver den ut bara 2223

Svara
Close