x-kom hosting

Python największy i najmniejszy element

Paziuch
utworzono
utworzono

Cześć, odpowie mi ktoś czemu program zawsze zwraca min=5 max=5 mimo że w pętli zainicjalizowana wartość powinna się zmienić?

tab = [5, 4, 1, 6, 8, 13, 2]

maxi = tab[0]
mini = tab[0]

for i in tab:
    if i < mini:
        i = mini
    if i > maxi:
        i = maxi
print(f"min:{mini}   max:{maxi}")

 

Natsuki Kuga
komentarz
komentarz

Cześć,

 

Błąd leży w tym, że pomieszałeś kolejność zmiennych po znaku równości.

 

Jeśli zamienisz to na ten kod maxi będzie równe 13, a mini 1:


for i in tab:
    if i < mini:
        mini = i
    if i > maxi:
        maxi = i

W pythonie wartość zmiennych jest przypisywana od prawej do lewej:

maxi <- (=) i, a nie i <- (=) maxi

 

W twoim przypadku pętla po tabeli przeszła, ale bez względu na to co zostało przypisane do zmiennej i było zaraz nadpisywane przez mini albo maxi, dlatego skrypt cały czas zwracał 5.

  • 3 tygodnie później...
Paziuch
komentarz
komentarz

@Natsuki Kuga tak już się zorientowałem :D, ale mimo wszystko dzięki za odpowiedź i poświęcony czas 

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.