5 svar
111 visningar
Avokado12345 131
Postad: 30 dec 2022 17:58

Förstår inte koden, sträng, lista

Jag förstår inte riktigt den här koden. Om någon kan förklara vore det snällt. Till exempel vad gör addnow():? Om jag förstått något så är det att nowc är alla bokstäver i strängen (?) och sen när det är == c ska allt avbrytas och ordet ska läggs till i listan? Är lite vilse gällande programmeringsuppgifter likt denna

Analys 1229
Postad: 30 dec 2022 18:16

Res är en lista av ord.

addnow lägger till ett ord i denna lista. Nowword nollställes. Men kommunicerar med globala variabler. Riktigt svårt att följa. Kan omöjligen vara ett facit. 

Avokado12345 131
Postad: 30 dec 2022 18:34
Analys skrev:

Res är en lista av ord.

addnow lägger till ett ord i denna lista. Nowword nollställes. Men kommunicerar med globala variabler. Riktigt svårt att följa. Kan omöjligen vara ett facit. 

Okej tack, tyvärr är detta facit :/

Lindehaven 820 – Lärare
Postad: 1 jan 2023 21:57 Redigerad: 1 jan 2023 23:49

I uppgiften står det "utan att använda inbyggda funktioner", ändå innehåller detta så kallade facit ett anrop till append?! Man kan argumentera att append inte är en funktion, men ...

Ordet "facit" bör inte användas för lösningar. Det finns nästan lika många lösningar som problemlösare. Det "facit" som du visat hör ju inte alls till någon av de bättre lösningarna.

Lindehaven 820 – Lärare
Postad: 2 jan 2023 13:03

Här är en alternativ lösning som är inte använder någon inbyggd funktion eller globala variabler:

def split(s, c):
    '''Splits string s into a list of strings separated by character c'''
    result = []
    word = ''
    for char in s:
        if char == c:
            result += [word]
            word = ''
        else:
            word += char
    return result + [word]
Laguna Online 30472
Postad: 2 jan 2023 16:10

Händer riktigt samma sak på slutet?

Svara
Close