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
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.
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 :/
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.
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]
Händer riktigt samma sak på slutet?