ändra värdet på ett element i python 3

Trädvy Permalänk
Medlem
Registrerad
Feb 2014

ändra värdet på ett element i python 3

tjenare jag har ett input som är en några siffror och jag vill öka värdet med 5 på en av siffrorna i listan så typ

lista[0]+=5

men jag får traceback eller vad det heter då det är ett input

TypeError: unsupported operand type(s) for -=: 'str' and 'int'

skulle verkligen uppskatta lite hjälp <3

Trädvy Permalänk
Medlem
Plats
Lappland
Registrerad
Feb 2008

Du försöker nu plussa ihop en string med en siffra vilket inte går. Ändra input till listan eller gör om listan först.

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av Chibariku:

Du försöker nu plussa ihop en string med en siffra vilket inte går. Ändra input till listan eller gör om listan först.

Jag förstår att den tar elementet som en string men jag fattar inte hur jag ska göra det "kort" för att den ska öka värdet med fem på första elementet.

Trädvy Permalänk
Medlem
Registrerad
Apr 2009
Skrivet av madmaster32:

tjenare jag har ett input som är en några siffror och jag vill öka värdet med 5 på en av siffrorna i listan så typ

lista[0]+=5

men jag får traceback eller vad det heter då det är ett input

TypeError: unsupported operand type(s) for -=: 'str' and 'int'

skulle verkligen uppskatta lite hjälp <3

Din input är en sträng med värdet av en siffra, tex "6". Du får fel för att du försöker göra "6"+5 vilket inte går då "6" är en sträng. Du vill köra int(input) för att göra om strängen till en siffra.

Elelr om du måste ha kvar det som en sträng i listan kan du göra lista[0] = str(int(lista[0]) + 5)

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av kobb3:

Din input är en sträng med värdet av en siffra, tex "6". Du får fel för att du försöker göra "6"+5 vilket inte går då "6" är en sträng. Du vill köra int(input) för att göra om strängen till en siffra.

Elelr om du måste ha kvar det som en sträng i listan kan du göra lista[0] = str(int(lista[0]) + 5)

får TypeError: 'str' object does not support item assignment av den andra lösningen

Trädvy Permalänk
Medlem
Plats
Lappland
Registrerad
Feb 2008

Kan du visa vad du har i listan för det ska funka. Ta en "print lista" och kopiera här.

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av Chibariku:

Kan du visa vad du har i listan för det ska funka. Ta en "print lista" och kopiera här.

lista=input("skriv 2B")

lista[0]+=5

typ det fast att det ska funka

Trädvy Permalänk
Medlem
Registrerad
Apr 2009
Skrivet av madmaster32:

lista=input("skriv 2B")

lista[0]+=5

typ det fast att det ska funka

Jaha, du har ingen lista, du har bara en sträng. Input ger tillbaka en sträng och inte en lista. Hoppas du förstår hur du ska göra nu.

Felmeddelandet säger helt enkelt att du inte kan skriva ett nytt värde i strängen eftersom python inte fungerar så. Du kan däremot indexera strängen för att få ut första bokstaven i strängen, dock inte skriva ett nytt värde.

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av kobb3:

Jaha, du har ingen lista, du har bara en sträng. Input ger tillbaka en sträng och inte en lista. Hoppas du förstår hur du ska göra nu.

Felmeddelandet säger helt enkelt att du inte kan skriva ett nytt värde i strängen eftersom python inte fungerar så. Du kan däremot indexera strängen för att få ut första bokstaven i strängen, dock inte skriva ett nytt värde.

Tack så mycket för hjälpen, en annan fråga kan man ta reda på platsen för ett element i en lista?

Trädvy Permalänk
Medlem
Plats
Lappland
Registrerad
Feb 2008
Skrivet av madmaster32:

Tack så mycket för hjälpen, en annan fråga kan man ta reda på platsen för ett element i en lista?

Lista = ["ett", "två", "tre"]
print Lista.index("två")

1

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av Chibariku:

Lista = ["ett", "två", "tre"]
print Lista.index("två")

1

Tackar sjukt mycket

Trädvy Permalänk
Medlem
Registrerad
Apr 2009
Skrivet av madmaster32:

Tackar sjukt mycket

Det är ofta lättast att bara läsa i dokumentationen!

https://docs.python.org/3/tutorial/datastructures.html

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av kobb3:

Det är ofta lättast att bara läsa i dokumentationen!

https://docs.python.org/3/tutorial/datastructures.html

Tack för tipset, har varit inne där innan men tänkte inte på det den här gången. Btw trevlig helg på er <3