Wpis z mikrobloga

Robię podstawowy kurs #python od Cisco i mam kłopot z poprawnym zrozumieniem list. Utknęłam na laboratorium, które uzupełniłam na podstawie analogicznych przykładów z internetu, ale koniec końców nie o to w tym wszystkim chodzi.

def czy_przestepny(rok):
if rok % 4 == 0 and (rok % 100 != 0 or rok % 400 == 0):
return True
False
dane_testowe = [1900, 2000, 2016, 1987]
wyniki_testow = [False, True, True, False]
for i in range(len(dane_testowe)):
r = dane_testowe[i]
print(r,"->",end="")
wynik = czy_przestepny(r)
if wynik == wyniki_testow[i]:
print("OK")
else:
print("Nie powiodło się")

Czy ktoś mi może prostym językiem wytłumaczyć ten fragment?
`for i in range(len(dane_testowe)):
r = dane_testowe[i]
print(r,"->",end="")
wynik = czy_przestepny(r)
if wynik == wyniki_testow[i]:
`

#naukaprogramowania #programowanie
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RozowaWkolorachTeczy: noo tyle co odczytalem to jest petla ktora robi 4 iteracje (dlugosc listy 'danetestowe'), kazdy element w tej liscie wyswietla z strzalka i testuje za pomoca funkcji 'czyprzestepny', wynik tej funkcji (True/False jezeli rok jest podzielny przez 100 lub 400) porownuje z odpowiednim wynikiem z listy wyniki_testow, brzmi jasno czy czegos jeszcze nie wiesz?
  • Odpowiedz
@RozowaWkolorachTeczy ok
Robiąc
for i in range(len(lista)) robisz tak naprawdę:
for i in [0, 1, 2, ..., dlugosc listy-1]

Zatem i przyjmuje wartosci numeryczne. Dalej używasz tego i, żeby dobierac sie po indeksie do elementów z list dane_testowe i
  • Odpowiedz
@RozowaWkolorachTeczy:

ale po co sprawdzać tę długość listy?


no bo ktos kto to pisal przekombinowal albo specjalnie tego uzyl zeby pokazac mozliwosc definiowania petli 'for', jakby napisac tak jak mirki wyzej po prostu nazwe listy to petla by przeiterowala kazdy jej
  • Odpowiedz
powiedzmy, że mniej lub bardziej zrozumiałam fragment z tego ćwiczenia. W kolejnym dowalili:


@RozowaWkolorachTeczy wróć do pierwszego ćwiczenia aż zrozumiesz co się dzieje w kodzie na 100% a nie mniej lub bardziej ps. to nie jest złośliwość
Ew napisz co w nim jeszcze"mniej" rozumiesz
  • Odpowiedz
@RozowaWkolorachTeczy: w tej drugiej czesci dotyczacej miesiecy wez to sobie na spokojnie przeczytaj kilka razy i sprawdz czy nazwy zmiennych sie zgadzaja, bo raz masz 'rok' a raz 'r', dodatkowo protip: jak wybierasz element z listy to wskazujesz jego index, numerowanie zaczyna sie od 0
  • Odpowiedz
pisanie sparametryzowanych funkcji


@RozowaWkolorachTeczy: :) akademicko :) co to znaczy "sparametrozowanych funkcji" to nawet nie wiem - kurs jest po polsku? Kto normalny tak to nazywa chyba tylko profesorkowie :) Sama ta nazwa odstrasza :) Widziałem wiele kursów i ten wygląda na jeden z bardziej topornych.

Inna sprawa jest tam jakaś teoria czy tylko praktyka? Bo szczypta teorii by się przydała żeby spojrzeć na temat
  • Odpowiedz
wróć do pierwszego ćwiczenia aż zrozumiesz co się dzieje w kodzie na 100%


@sepuqqu: Ok, to jeszcze raz:
def czyprzestepny(rok): //tworzę funkcję 'czyprzystepny' z jednym argumentem 'rok'
if rok % 4 == 0 and (rok % 100 != 0 or rok % 400 == 0):
//wzór na sprawdzenie
  • Odpowiedz