Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Ser ikke ut til at jeg får korrekt resultat:


       streng = self.installedQuery
       while "  " in streng:
           streng= streng("  ", " ")        
       return streng

 

dette gir meg det samme som jeg starta med:

alacarte        0.8-0ubuntu1

 

 

edit: Takk, glemte bare en .replace :)

Endret av dabear
Lenke til kommentar
Hm, da kom jeg på et nytt problem sjølsagt. Viss jeg har to versjoner, fks:

v1 = '0.8-0ubuntu1' og v2='0.7-0ubuntu1', hvordan kan jeg sjekke hvilken av dem som er størst?

5080320[/snapback]

 

 

Hvis du vet at strengene alltid vil ha formatet x.y-0ubuntu1, så kan du f.eks

gjøre noe slik:

 

vstreng1 = '0.8-0ubuntu1'
vstreng2 = '0.7-0ubuntu1'
v1 = float(vstreng1.split('-')[0]) # splitter på '-' og bruker kun første element
v2 =  float(vstreng2.split('-')[0])

if v1 > v2:
   print "vstreng1 er nyeste versjon"

Lenke til kommentar

en måte kunne jo være å fjerne alle bokstaver og tegn fra strengen og så sjekke det... man sjekker jo bare mot tidligere versjoner av samme programvare...

 

litt python/pseudo-kode (klokka er 04:29 ;) )

 

def returnVersionNum(minstreng):
 pos = 0
 for i in range(33,48):
   for curBlock in minstreng:
        if curBlock == chr(i):
            minstreng[pos] == ""
        pos = pos + 1
 pos = 0
 for i in range(58,127):
   for curBlock in minstreng:
        if curBlock == chr(i):
            minstreng[pos] == ""
        pos = pos + 1

 return float(minstreng)

 

Noe slikt kanksje? Finnes sikkert en million måter å optimalisere den på, men som sagt.. klokka er 04:29 ;)

 

Lykke til =)

Endret av Klette
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...