1 svar
361 visningar
villsovaa behöver inte mer hjälp
villsovaa 925
Postad: 3 okt 2021 11:58

multiplikation i sträng

Hej, har följande kod:

personnummer = input("ange ditt personnummer: ")

for i in personnummer:
    i = personnummer[::2]
print(i * 2)

Jag vill att varannat tal i personnumret ska multipliceras med två. Men om jag skriver exempelvis "234" så fås det fram "2244" Vilket betyder att den dubbelprintar talet, inte multiplicerar med 2. Jag antar att det är på grund av att jag behandlar input som en sträng, snarare än ett heltal int. Men jag behöver kunna använda funktionen "len()" och andra funktioner för strängar på denna uppgift, så jag måste behandla input som en textsträng. Min fråga är då: Hur tar man enskilda element i strängen och multiplicerar med två, alltså inte dubblerar? Hur kan jag annars lösa detta?

Lindehaven 820 – Lärare
Postad: 4 okt 2021 08:38

Ditt program tar varannan siffra ur strängen personnummer och lagrar det i variabeln i. För varje upprepning så blir i == "24". Slutligen multipliceras variabeln i med 2 och skrivs ut, det blir "2424".

Låt istället slingan välja varannan siffra ur strängen personnummer, typkonvertera den siffran till ett heltal och multiplicera med 2. Början till den koden ser ut så här:

personnummer = input("ange ditt personnummer: ")

for i in personnummer: # behöver ändras så att den tar varannan siffra
    print(int(i) * 2)
Svara
Close