Programmeringskurs: 3.4 Løkker og logiske tester
Løkker og logiske tester
Det vi har sett til nå, er at vi kan traversere lister og på den måten gjøre noe med hvert av elementene i lista. Noen ganger kan det tenkes at vi ikke skal gjøre noe med alle elementene, men kun de som tilfredsstiller en eller annen betingelse. Dette kan vi løse ved å legge inn en valgsetning i løkka. La oss tenke oss at vi skal legge sammen tall i en liste, men bare ta med tallene som er positive. Med pseudokode vil det se ut som dette:
#\texttt{sum = 0}#
#\texttt{for tallet i tallene:}#
#\quad \quad \texttt{hvis tallet er større enn 0:}#
#\quad \quad \quad \quad \texttt{legg til tallet i sum}#
#\texttt{skriv ut sum}#
Lag et program som finner summen av bare de positive tallene i listen:
#\texttt{tallene = [2, 6, -5, 0, 12, 30, -20]}#
Skriv til slutt ut summen med #\texttt{print}#.
#\,#
LØSNING:
Vi kan lage programmet slik:
#\texttt{tallene = [2, 6, -5, 0, 12, 30, -20]}#
#\texttt{sum = 0}#
#\texttt{for tall in tallene:}#
#\quad \quad \texttt{if tall > 0:}#
#\quad \quad \quad \quad \texttt{sum += tall}#
#\texttt{print(sum)}#
Vi definerer en sum, og setter den til å være #\texttt{0}#. Deretter går vi gjennom lista med en løkke, og sier at for hvert tall som er i lista, skal vi øke summen med tallet, hvis tallet er større enn #\texttt{0}#.