Python 'Algorytm'

0

Cześć ,
Mam pytanie odnośnie poniższego kodu

s=0
for x in range(6):
    if x>1 and x<5:
        print(x)
        continue
    s+=x
print('X='+str(x)+'\n'+'S='+str(s))

X wynosi 5
S wynosi 6

I teraz moje pytanie brzmi dlaczego X wynosi 5 ? bo S to wiadomo to co nie jest 'True' w pętli idzie do zmiennej S i się sumuje czyli w zmiennej S zsumowało się (0,1,5) ale dlaczego X wynosi 5 skoro w X wartości TRUE to (2,3,4)

2

Bo w pętli pod warunkiem jest komenda continue, która przeskakuje do kolejnego kroku pętli nie wykonując dalszych jej instrukcji.
Uruchom coś takiego:

s=0
for x in range(6):
    if x>1 and x<5:
        print(x)
        continue    
    s+=x
    print("zmiana S",x, s)
print('X='+str(x)+'\n'+'S='+str(s))

wynik programu:

zmiana S 0 0
zmiana S 1 1
2
3
4
zmiana S 5 6
X=5
S=6
0

Tak tak ja to rozumiem tylko nie wiem dlaczego w x skoro mamy 2,3,4 wynik równa się 5. O to mi chodzi.w Zmiennej s sprawa jest prosta tę która nie spełniają warunki lecą do s , warunku nie spełniają 0,1,5 równa się 6

0

A ile ma wynosić? range(6) zwraca 0,1,2,3,4,5, więc ostatnie przypisanie do x będzie 5. Dodaj sobie print(x) zaraz pod tym for i zobaczysz.

0

Dobra ok , nie wiem dlaczego ale skupiłem się na jakimś wyimaginowanym sumowaniu tego x :) . Dzięki chłopaki i spokojnej nocki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1