Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika Jokohama w Python

Gwiazdor

w Python

0piorunów

Siema. Proszę podpowiedzcie mi co tutaj jest źle? już nie wiem sam

Komentarze (13)

Debiutant1piorunów

@Jokohama W takim razie oprócz wywalenia 10 linii trzeba jeszcze podawanie najmniejszej liczby dać poza pętlę (tak jak masz w rozwiązaniu ćwiczenia nr 1). W zdjęciu rozwiązanie oparte na Twoim. Powodzenia w nauce :smiley:

Gwiazdor0piorunów

Dla zainteresowanych: Poniższy kod robi to co ma robić. Musiałem poradzić się chatu gpt, który dodał .append, który rozwiązał sprawe. Nie znałem tego wcześniej, w książce nie było. Chociaż ciekaw jestem jak wyglądałby kod wg klucza. Dzieki za pomoc wszystkim
@korpowyrobnik @dsol17 @saqala-bilaabayso @mejwen

Gwiazdor0piorunów

@dsol17 Właśnie czytam i tam na końcu każdego rozdziału są ćwiczenia i to właśnie jest jedno z nich.
@korpowyrobnik Tak chcę podać listę liczb, która po wpisaniu 'ok' wypluje mi najmniejszą i największą z nich.
Daje zdj tych ćwiczeń i rozwiązanie pierwszego z nich, które działa.

Wirtuoz2piorunów

@Jokohama Kurde tak czytam te komentarze i trochę mi zajęło ogarniecie o co Ci może chodzić, chcesz na wejściu jako input podawać listę liczb? Funkcja input defaultowo zwraca 1 string, wiec jak napiszesz w inpucie 1, 2 ,3 to w kodzie będzie to odpowiadać stringowi "1, 2, 3", żeby takiego stringa zamienić na listę po której będziesz iterował musisz użyć np funkcji split. Rzutowanie na floata rób dopiero w pętli na pojedynczych elementach listy, funkcja float() przyjmuje na wejscie tylko liczbe albo string, nie mozesz jej uzyc na liscie, tupli etc
A i jak dopiero się uczysz podstaw to nie używaj w ogóle try/except, będzie to powodowało ze nie będziesz widział błędów które Cie naprowadza na to co jest nie tak w twoim kodzie

Fenomen1piorunów

@Jokohama Aha już mam. Nie wiem czy tylko to czy to co podałem też może mieć znaczenie ,ale uruchomiłem twój kod w prostszej wersji bez try. Wygląda na to,że python zabezpiecza cię przed iterowaniem zmiennych float. K⁎⁎wa,powinienem to zauważyć, przecież to oczywiste,floatów się nie iteruje.

Dlaczego nie iteruje się float i double ? bo masz spore ryzyko pętli nieskończonej to jest inna struktura zmiennej. Dlatego właśnie wywalenie fora cokolwiek dało.

A co do nauki - niestety ja też wystarczająco go nie umiem. Przeczytaj może kilka książek na początek choć o pytku.

Gwiazdor0piorunów

@dsol17 wstawienie zera nic nie zmienia. Działanie jest takie same. Chciałbym wiedzieć co do mnie mówisz z tym namepointer xD zacząłem dopiero naukę pythona. To jest pierwsze ćwiczenie nad którym siedzę dłużej. Nie chce robić tego z chatgpt. Chce to sam napisać, ale już niewiem.

Debiutant1piorunów

Problem jest z linią nr 10. Jeśli program ma po prostu wyświetlać najmniejszą liczbę, to wywal linię nr 10 (i popraw wcięcia w liniach 11 i 12), i całość będzie działać

Fenomen2piorunów

@Jokohama Chwila moment,a dlaczego niby zakładasz,że min_liczba będzie None na starcie ?
Próbowałeś min_liczba zdefiniować jako zero ?
Pewności nie mam,ale to czasem nie jest namepointer exception ?
Aha i jak się pytasz to taguj albo