• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z listą w pętli

0 głosów
249 wizyt
pytanie zadane 14 lipca 2019 w Python przez Wiktor Michalski Początkujący (430 p.)

Cześć,
Mam problem z listą(liczba[i]) w pętli. Wyskakuje mi błąd "IndexError: list index out of range". Pomożecie jakoś zmienić kod? Sory jak podałem za mało informacji lub coś źle zrobiłem mój pierwszy raz na tym forum.Chodzi mi dokładnie o "suma=liczba[i]+suma" w funkcji dodawanie().

def wybor():
    print("1.dodawanie")
    print("2.odejmowanie")
    print("3.dzielenie")
    print("4.mnożenie")
    global option
    option = int(input("Wybierz jedną z poadnych opcji(1-4): "))

def zilu():
    global ile
    ile = int(input("Z ilu liczba robisz działanie: "))
    print(ile, type(ile))

def wpisywanie():
    i = 0
    global liczba
    liczba = []
    while i < ile:
        co = int(input("Podaj liczbe"))
        liczba.insert(i, co)
        i = i + 1
def dodawanie():
        i=0
        global suma
        liczba = []
        while i < ile:
            suma=liczba[i]+suma
            i = i + 1

wybor()
zilu()
wpisywanie()
print(liczba.count(2))
print(liczba[0:ile])
if(option==1):
    dodawanie()

 

komentarz 14 lipca 2019 przez daniel1806 Obywatel (1,780 p.)

Hej Kolego :)

Odpaliłem Twój program w kompilatorze online, oto link:

https://www.onlinegdb.com/online_python_compiler

i żadnego błędu nie ma a program kończy się z exit code 0.

Sprawdź jeszcze raz przy jakich danych wejściowych wywala błąd i wypróbuj go może w tym online-owym kompilatorze co Ci linka do niego wysłałem.

Pozdrawiam

komentarz 14 lipca 2019 przez tkz Nałogowiec (42,040 p.)

Wychodzisz po za zakres. Plus ten kod nie działa tak jakby miał.

Pozwoliłem sobie go skopiować i uruchomić. 

1.dodawanie
2.odejmowanie
3.dzielenie
4.mnożenie
Wybierz jedną z poadnych opcji(1-4): 4
Z ilu liczba robisz działanie: 3
3 <class 'int'>
Podaj liczbe2
Podaj liczbe2
Podaj liczbe2
3
[2, 2, 2]

Myślę, że ostatnia linia nie jest równa z Twoim założeniem kalkulatora...

komentarz 14 lipca 2019 przez Wiktor Michalski Początkujący (430 p.)

@daniel1806, Tak bo jeśli w pierwszym wpisywaniu chodzi o to:

def wybor():
    print("1.dodawanie")
    print("2.odejmowanie")
    print("3.dzielenie")
    print("4.mnożenie")
    global option
    option = int(input("Wybierz jedną z podanych opcji(1-4): "))

dam 1 bo tylko ten wypadek zacząłem robić to wtedy funkcja z dodawaniem, a dokładnie to:

def dodawanie():
        i=0
        global suma
        global liczba
        liczba = []
        while i < ile:
            suma=liczba[i]+suma
            i = i + 1

nie działa, a ja nie wiem dlaczego. Proszę o pomoc

komentarz 14 lipca 2019 przez tkz Nałogowiec (42,040 p.)
 liczba = []
        while i < ile:
            suma=liczba[i]+suma
            i = i + 1

Lista liczba jest pusta, a Ty się do niej odwołujesz przez liczba[i], jak to ma działać?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 782 wizyt
pytanie zadane 20 czerwca 2023 w Python przez Bondrusiek Maniak (61,440 p.)
0 głosów
1 odpowiedź 953 wizyt
pytanie zadane 17 grudnia 2022 w Python przez Kubas23 Użytkownik (630 p.)
0 głosów
0 odpowiedzi 151 wizyt
pytanie zadane 13 grudnia 2019 w Python przez Dawid89 Obywatel (1,210 p.)

93,777 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...