Mirole, odpaliłem sobie dzisiaj kurs pytonga i lecę pierwsze kroki. Pierwsze pytanie - dlaczego wyświetla mi wszystkie 5 owoców, a nie 4? Dałem if, że ma robić do I mniejszego lub równego 3, czyli 0, 1, 2, 3, na bananie powinno się zatrzymać. #python #programowanie
@Jakubaty: Bo masz w dupie 'i' i nie wolasz po indeksie tylko dla kazdego owocu dodajesz i + 1 (w jakims niecnym celu) i wypisujesz aktualny owoc poprzez iterator for x in fruits.
@Jakubaty: ja ci dam radę. Pomyśl krok po kroku jak byś mial to wykonywać. i mów na głos co robisz... zrozumiezs dlaczego komputer nie ma absolutnie żadnego powodu wyświatlac mniej niz wszystkie
@Jakubaty: program robi to co mu kazałeś, printuje wszystkie elementy (x) z owoców (fruits). Program sprawdza tylko na początku jaką wartość ma i - potem wykonuje wszystko po dwukropku.
Masz dwie możliwości, przepisać to na pętlę "while i <= 3:" lub wpisać w pętli for przed i = i + 1 "if i <= 3: break". To że sobie zwiększasz i o jakąś wartość jest bez znaczenia, bo wartość początkowa jest
@Jakubaty: a w ogóle to sposób w jaki próbujesz rozwiązać ten problem jest dość "od dupy strony", jeżeli chcesz wypisać pierwsze 4 owoce to, musisz wybrać pierwsze 4 elementy z listy:
@Jakubaty: Na poczatek zaznacze, ze sposob od @mcnight95 jest spoko. Jezeli podczas iterowania przez cokolwiek potrzebujesz znac aktualny indeks iteracji, to uzyj enumerate, czyli w Twoim przypadku wygladaloby to tak:
for idx, fruit in enumerate(fruits): ....if idx <= 3: ........print(fruit)
#python #programowanie
źródło: comment_vSaE9tfZFnQFn62Y0yyyz51fwiGnJ5bU.jpg
Pobierzfruits = [1,2,3,4,5]
i = 0
for x in fruits:
if i <= 3:
i = i + 1
print(x)
i mów na głos co robisz... zrozumiezs dlaczego komputer nie ma absolutnie żadnego powodu wyświatlac mniej niz wszystkie
Masz dwie możliwości, przepisać to na pętlę "while i <= 3:" lub wpisać w pętli for przed i = i + 1 "if i <= 3: break". To że sobie zwiększasz i o jakąś wartość jest bez znaczenia, bo wartość początkowa jest
źródło: comment_1dGVRUYuMhjGDDbxEUZzg7HcAH1Jokux.jpg
PobierzKomentarz usunięty przez autora
>>> for fruit in fruits[:4]:
....... print(fruit)
for idx, fruit in enumerate(fruits):
....if idx <= 3:
........print(fruit)
fruits=["apple","pear","orange","banana","grape"]
for i in range(len(fruits)-1):
print(fruits[i])