9 svar
199 visningar
Dualitetsförhållandet 1287
Postad: 7 feb 2021 11:50

Sätt in element från en lista i en annan med rätt ordning

Förstår inte varför den inte funkar?

Den borde ju kalla på funktionen ovanför och lägga in element i out i ordning. Ser att det står 'list' object cannot be interpreted as an integer, men jag har ju tagit for i, där i är en siffra i listan. Så det borde väl funka?

Laguna 28468
Postad: 7 feb 2021 12:26

Ska du inte göra insert_in_sorted(i, out)?

Dualitetsförhållandet 1287
Postad: 7 feb 2021 12:28
Laguna skrev:

Ska du inte göra insert_in_sorted(i, out)?

jo, testade men då blir det inget felmeddelande och den printar bara ut "[]"

Dualitetsförhållandet 1287
Postad: 7 feb 2021 12:28

Laguna 28468
Postad: 7 feb 2021 13:18

Vad gör insert_in_sorted om du ger den 2 och []?

Dualitetsförhållandet 1287
Postad: 7 feb 2021 13:37
Laguna skrev:

Vad gör insert_in_sorted om du ger den 2 och []?

ger None, tror det är problemet

Dualitetsförhållandet 1287
Postad: 7 feb 2021 13:38

fattar bara inte varför

Dualitetsförhållandet 1287
Postad: 7 feb 2021 14:26
Laguna skrev:

Vad gör insert_in_sorted om du ger den 2 och []?

hur kom du på det?

Laguna 28468
Postad: 7 feb 2021 19:06

Tittade på koden. Den går igenom alla element i sorted_list, men när den listan är tom händer alltså ingenting alls.

Lindehaven 820 – Lärare
Postad: 9 feb 2021 11:21
Dualitetsförhållandet skrev:

Förstår inte varför den inte funkar?

Den borde ju kalla på funktionen ovanför och lägga in element i out i ordning. Ser att det står 'list' object cannot be interpreted as an integer, men jag har ju tagit for i, där i är en siffra i listan. Så det borde väl funka?

Felet beror på att range() behöver heltalsargument, men du anger en lista:

    for i in range(my_list):

Ändra till:

    for i in range(len(my_list)):

För mig sticker det i ögonen när variabeln out är global. Den borde vara ett argument till funktionen (eller en lokal variabel i funktionen).

Kodgranskning är bra, Laguna hittade ett fel på det sättet. Du bör dessutom skriva kod som testar dina funktioner för då hittar du felen snabbare.

Svara Avbryt
Close