5 svar
74 visningar
Mayaa1 är nöjd med hjälpen
Mayaa1 48
Postad: 4 apr 2023 20:41 Redigerad: 4 apr 2023 22:09

Lista i Python

Hej, jag behöver hjälp för att skriva ut listan baklänges och jag vet att jag skulle göra det med reverse.()

lista = [3,4.5,3,7,9,1]

Tack!

CurtJ 1149
Postad: 4 apr 2023 20:45

Du behöver studera range()-funktionen. Titta på den och återkom om du undrar över något. 

Mayaa1 48
Postad: 4 apr 2023 21:16

Jag började så men det går inte.. 


for i in range(len(lista),-1,1,1,1):
print(lista[i])


Tillägg: 4 apr 2023 21:18

Jag tror att det är fel med nummerring, eller hur?

CurtJ 1149
Postad: 4 apr 2023 21:45

Ja range() tar 1,2 eller 3 argument beroende på hur det ska användas. I ditt fall behöver du använda tre-argumentsversionen. Det första argumentet är startvärdet på din iteration. Default är 0 men du kan använda det som passar. Du ska ju indexera listan och listindex börjar på 0 i det här språket. Det andra argumentet avgör den bortre änden  på följden och den änden ingår inte i följden så om du skriver range(0,5.. ) så får du mängden 0:4. Det sista argumentet anger steglängden som i normala fall är 1 men du vill ju ha varannat värde så då får du ange 2 som steglängd. 

I ditt exempel ovan så skriver du ut det sista talet. För att din printsats ska exekvera för varje index i din mängd så ska print-satsen indenteras. 

Mayaa1 48
Postad: 4 apr 2023 21:53

Är det rätt nu eller?

for i in range(len(L),0,2):
print(L[i])

Fermatrix 7841 – Fd. Medlem
Postad: 4 apr 2023 21:59

Nej, det stämmer inte. 

Prova köra din kod, vad händer och varför tror du att du får det resultatet som du får?

Referar tillbaka till vad CurtJ nämnde ovan:


CurtJ skrev:

Ja range() tar 1,2 eller 3 argument beroende på hur det ska användas. I ditt fall behöver du använda tre-argumentsversionen. Det första argumentet är startvärdet på din iteration. Default är 0 men du kan använda det som passar. Du ska ju indexera listan och listindex börjar på 0 i det här språket. Det andra argumentet avgör den bortre änden  på följden och den änden ingår inte i följden så om du skriver range(0,5.. ) så får du mängden 0:4. Det sista argumentet anger steglängden som i normala fall är 1 men du vill ju ha varannat värde så då får du ange 2 som steglängd. 

Men du är väldigt nära, du har rätt siffror och allt. 

Svara Avbryt
Close