Pętla for

C8
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:33
0

Witam,

Jak zbudowana jest pętla for?

Jaki jest wynik poszczególnych etapów pracy pętli for w przykładach:
1)

y = 1
for x in [1, 2, 3, 4]:
y = y + x

y // y wynik 11
2)

x = 1
for item in [1, 2, 3, 4]: x*= item

x // x wynik 24

edytowany 1x, ostatnio: Cyber84
DE
PS, w pierwszym przykładzie masz błąd skoro wynikiem ma być 11. Zamień y = y + 1 na y = y + x albo zapisz krócej y += x.
C8
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:33
0

Blok instrukcji w pierwszym przykładzie wykonał się tylko jeden raz, bo wynik jest 11.
For x in [1, 2, 3, 4]: // oznacza to ze dla celu x, zostanie przypisane 1, 2, 3, 4, a później na końcu sie to zsumuje i doda 1 do tego ?

DE
tak, ale dodawanie 1 jest na początku (przed pętlą)
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:4 minuty
  • Postów:4923
0

W Pythonie nie ma klasycznej, jak w C czy Javie pętli for, to jest for_each, czyli element iteruje po jakiejś kolekcji; np., C++:
for (int i = 0; i < 4; ++i) {// do stuff}
Python:

Kopiuj
for x in range(4):
    # do stuff

https://wiki.python.org/moin/ForLoop
https://pynative.com/python-range-function/


C8
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:33
0

Skąd w pierwszym przykładzie wynik = 11, a w drugim 24?

DE
Pierwsza pętla sumuje elementy, druga mnoży.
C8
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:33
0

Przykład:

x = 1
for item in [1, 2, 3, 4]: x*= item

x // x wynik 24

  1. 1 jest przypisywane do item i wykonuje sie 1*1
  2. 2 jest przypisywane do item i wykonuje sie 1*2
  3. 3 jest przypisywane do item i wykonuje sie 1*3
  4. 4 jest przypisywane do item i wykonuje sie 1*4 ?

Jaki jest wynik poszczególnych etapów ww. przykładu?

SE
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:318
0

Po kolei:

Kopiuj
x = 1, item = 1
x  = 1 * 1
x = 1, item = 2
x = 1 * 2
x = 2, item = 3
x = 2 * 3
x = 6, item = 4
x = 6 * 4
edytowany 5x, ostatnio: Serechiel

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.