• 1
  • 2
2013-08-26, 23:21
  #13
Medlem
Citat:
Ursprungligen postat av kanelbullen1
finns ngra problem med din while-sats, du har fr det frsta gjort s att den yttersta while-satsen enbart kommer kras 1 gng d den enbart krs d n=20 vilket den inte r nsta "runda" d du i slutet skriver "n= n + 1" d blir n = 21 och inget mer krs.
I din innersta while-sats s skriver du villkoret "i == -20" du deklarerar "i" som en lista men "-20" r en int.. s denna stmmer aldrig och kommer dr med aldrig kras.

hur lnge vill du att din yttersta while-sats skall kras? hngde inte med i din frklaring



D mste jag ha ftt det hr med while loop lite om bakfoten...


Det jag vill stadkomma med while loopen r att den ska kolla fr varje ord n om ordet upprepar sig 20 ord innan och 20 ord efter. Drfr har i intervallet -20 till 20. Men jag vill att n ska ha lika stor intervall som antal ord i SplitText fast det ska brja med det 20e ordet. Kanske blev det tydligare kring vad jag frsker gra?!

Min tanke va att n (den yttersta while loopen) ska brja med 20 och sedan ska den plussas p med ett fr varje runda tills SplitText tar slut, dvs ska bero p antal ord i listan SplitText.

Fr att i ska f SIFFRAN 20, ska jag d identifiera den som i=-20, men d mste jag vl identifiera n=20?! Eller r jag helt ute o cyklar igen?
Citera
2013-08-26, 23:24
  #14
Medlem
Citat:
Ursprungligen postat av jonthe12
Det kan ju vara en frdel att lyssna lite nr andra frsker hjlpa till om man vill ha mer hjlp och gr vidare. Anledningen till att det funkar fr dig nu r fr att du skapar instansvariabeln efter att du kr funktionen. D v s du kommer bara kunna kra metoden en gng, sen kommer du f samma felmeddelande som tidigare. Varfr inte bara byta namn p den!?(!!!!!!!?)



Precis, instansvariablar verkar allts "skriva ver" metoder. Det r ju ganska logiskt eftersom funktioner inte mste fljas av (). Exempelvis

Kod:
func obj.name1 #sklart helt omjligt att veta ifall man vill ha metoden eller variabeln
func() #helt ok i Python (som kanske bekant, var inte helt sker innan jag provade :) ) 


Hmm jag har gjort det tidigare och det har funkat att ha samma namn, visste inte helt enkelt att det kunde skapa problem att ha samma namn, men man lr sig ngt nytt varjedag. Och hade experimenterat fram lsningen innan jag hann se ditt inlgg
Citera
2013-08-27, 12:23
  #15
Medlem
Tror jag frstr vad du menar!
Jag tnker mig att du br gra ngot i fljande stil

Kod:
n=20
while n<(len(ordlistan())-20):
    
i=n-20
    
while i<=n+20:
        if 
ordlistan(n)==ordlistan(i):
            
"Gr det du vill dra"
            
        
+1
    n
=n+

hoppas detta hjlper dig, du lr f trixa lite med koden men det r frhoppningsvis ngot i rtt riktning
Citera
2013-08-29, 13:09
  #16
Medlem
Nu funkade det som jag ville... loopen gr igng. Problemet denhr gngen r att ALLA ord ndras nr endast upprepade ord ska gra det.



Kod:
    def ident(self):
        n=20
        while n< (len(self.SplitText)-20): 
            i=n-20
            while i<=n+20:
                if self.SplitText[n]==self.SplitText[i]:
                    self.SplitText[n]='*', self.SplitText[n], '*'
                i = i + 1
            n= n + 1


innan s gllde aldrig self.SplitText[n]==self.SplitText[i], nu gller den istllet ALLTID!!
__________________
Senast redigerad av dodi1990 2013-08-29 kl. 13:50.
Citera
2013-08-29, 15:10
  #17
Moderator
vhes avatar
Citat:
Ursprungligen postat av dodi1990
innan s gllde aldrig self.SplitText[n]==self.SplitText[i], nu gller den istllet ALLTID!!

Den jmfrelsen lr givetvis bli sann d n == i, och eftersom du loopar frn n - 20 till n + 20 s lr det ju intrffa minst en gng fr varje n.
Citera
2013-09-01, 10:02
  #18
Medlem
Citat:
Ursprungligen postat av dodi1990
Hej jag har en uppgift jag frsker lsa, dock har jag fastnat och har tv problem jag inte klarar av o lsa. Min uppgift r att jag ska ladda upp en textfil, sedan ska jag identifiera upprepade ord inom ett intervall av 40 ord. Upprepningar ska markeras med '*' fre och efter det upprepade ordet.
Du skall markera upprepningar.
Allts ingen markering frsta gngen ett ord frekommer, ven om det senare upprepas.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in