Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

3.1.5: While- og for-løkker.

  1. Lag ei løkke som skriver ut alle partall fra og med 0 til og med 100. Gjør dette gjerne med både while- og for-løkker.

  2. Skriv et program som skriver ut alle tallene fra og med 1 til og med 449 ved hjelp av en for-løkke.

  3. Lag et program som tar et tall som input. Programmet skal sjekke om tallene 2-9 er faktorer i tallet, og skrive ut passende meldinger.

Vis løsningsforslag

Oppgave 1
Her er det mange kreative måter man kan løse oppgaven. Her er et eksempel med while-løkke og et med for-løkke.

Når vi her bruker while-løkke må vi først definere to variabler, det er en "telle"-variabel, i, og en "utskrift"-variabel, x. Disse må defineres slik at vi kan bruke de i løkken. Så lar vi løkken kjøre så lenge x er mindre en 100. Når x=98 vil da løkken kjøre en siste gang for å skrive ut x=100.

i=0                 #tellevariabel
x=0                 #utskriftvariabel
while x < 100:      #kjører så lenge x < 100
    i = i+1         #i er defienrt som 0, øker med 1 hver runde
    x = i*2         #formel for partall
    print(x)        #skriver ut x

Når vi her bruker for-løkke trenger vi ikke å definere noen variabler først. I denne oppgaven kan vi for hver i sjekke om det er et partall, og dersom det er partall skrives det ut.

for i in range(101):    #kjører 101 ganger, med i fra 0-100
    if int(i/2)==i/2:   #sjekker om i er et partall    
        print(i)        #skriver ut i dersom det er partall

Oppgave 2
Her holder det med en ganske enkel for-løkke. Siden vi skal skrive ut tallene fra 1 til 449, må vi ha i in range(1,450). Merk at i da går fra og med 1 til men ikke med 450.

for i in range(1,450):
    print(i)

Oppgave 3
Legg merke til at vi får input og konverterer til float på samme linje, ved å sette float() rundt input. Setter vi opp en for-løkke, der vi har i in range(2,10), da vil løkken kjøre med verdier i = 2, 3, 4, 5, 6, 7, 8 og 9. Så setter vi opp en if-test som sjekker om hvert tall i er en faktor, og endrer printen til å skrive ut avhengig av tallet i.

tall = float(input("Skriv inn et tall: "))  #definerer tall
for i in range(2,10):                       #i=2,3,4,5,6,7,8,9
    if tall//i == tall/i:               #sjekker om i er en faktor
        print(i, "er en faktor i dette tallet")
    else:
        print(i, "er ikke en faktor i dette tallet")