Gå til innhold

Anbefalte innlegg

Hei,

 

Prøver å lære Python, men forsøker på diverse ting da:

 

var = "3"
gange = "8"

int(var)
int(gange)

var = var * gange

print var

 

Det gir følgende feil:

var = var * gange

TypeError: can't multiply sequence by non-int of type 'str'

 

Hva gjør jeg galt her? Jeg er klar over at int er uten " etc. men i et annet script så må jeg konvertere... får det ikke til...

 

Annet spm. jeg kom på, gjør Python noen forskjell på ' og "?

 

Tusen takk!

Lenke til kommentar
Videoannonse
Annonse

var = "3"
gange = "8"

var = int(var)
gange = int(gange)

var = var * gange
# ev: var = int(var) * int(gange)

print var

Dette fordi funksjonen int() forandrer ikke på objektet (alt i python er objekter) det blir "kalt" på, det "svarer" med det.

Endret av meron
Lenke til kommentar

TIPS: Prøv gjerne å eksprimenter litt i Python-"kommandlinjen".

 

 

multy = 4
x = 1 # Denne er 1

while True: # Denne loopen kjører i all evighet
   sum = x * multy

   x = str(x) # ved første gang gjennom loop Dette blir streng "1"

   endNumber = x[- 1]
   theRest = x[:-1] # ved første gang gjennom loop: blir dette ingenting

   endNumber = int(endNumber)
   theRest = int(theRest) # da får du trøbbel her

   theNewNumber = "%d%d" % (endNumber, theRest)
   theNewNumber = int(theNewNumber)

   print x, '=', theNewNumber

   if (theNewNumber == sum):
       print x
       break # Her stopper heldigvis loopen

   x = int(x)
   x = x + 1

 

Når X = 1

så blir str(x) = "1"

det vil føre til at x[:-1] = ""

hvilket den ikke vil kjøre int på.

 

Håper du forstår

 

EDIT: Kommentarer i koden.

Endret av meron
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...