Oddetall eller partall i Python
Dette er en oppgave for nybegynnere i programmering i Python. Les her hvordan å komme i gang med Python.
Hele oppgaven
Spør bruker å skrive inn et tall. Avhengig av om tallet er et oddetall (1, 3, 5 osv) eller partall (2, 4, 6 osv) skriv ut en melding: «Dette er et oddetall!» eller «Dette er et partall!».
Tips: tenk hvilke tall kan deles på 2.
Eksempel:
Oppgaven steg for steg
Steg 1. Ta imot input fra tastaturet
For å ta imot input i Python bruker du funksjon input()
.
Steg 2. Bruk variabel for å huske tallet
Variabel er en boks der du lagrer ting. I Python kan du lagre tall og tekst i disse boksene. For å sette et tall eller en tekst inn i variabel bruker du «=» tegn.
Steg 3. Åpen IDLE
Videre skal vi skrive flere kodelinjer så det svarte Python vinduet kan ikke brukes lenger.
Vi skal åpne et annet Python kodeprogram – IDLE. Søk opp «IDLE» i søkefeltet og start programmet:
Dette «kjørevidnu» skal du se når du åpner IDLE:
Åpne nytt kodevindu der vi skal skrive selve programmet ved å velge File -> New File:
Kodevindu:
Du skal skrive kode i et kodevindu. Koden skal kjøres deretter i et kjørevindu:
Steg 4. Start å skrive et kodeprogram i Python
Lag kode som tar imot tallet og lagrer det i en variabel med navnet «tallet»:
For å skrive ut noe på skjermen brukes funksjonen print()
.
tallet = input("Skriv inn et tall: ")
print("Tallet er" + tallet)
Kjør koden ved å velge Run -> Run Module (eller F5):
Steg 5. Finn på en algoritme
Hvordan skal programmet vite om tallet er et oddetall eller et partall?
Vi vet at alle partall kan deles på 2 uten at det blir desimaltall i resultatet. Det kan ikke oddetall:
122 : 2 = 61
333 : 2 = 166,5
Steg 6. Modulo-operasjon i Python
Vi kan enkle matematiske operasjoner (addisjon, subtraksjon, multiplikasjon, divisjon) siden barneskolen. Men i programmering er det ofte ikke svaret på et divisjonsproblem vi trenger, men å vite resten når vi gjør en divisjonsoperasjon. Denne operasjonen kalles «modulo-operasjon«. For eksempel, når jeg deler 5 med 3, er resten 2, og setningen blir slik: «5 modulo 3 er 2.»
I Python er «%» en modulo operator. Prøv den i det svarte vinduet:
Steg 7. If … else – forgrening
Når en datamaskin (eller et program) må bestemme noe, kontrollerer den om en betingelse er oppfylt, og det er her begrepene betinget og forgrening kommer fra. Hvis Ole ble født i Oslo, har han et norsk pass. Denne setningen er en betinget (hvis-setning) som i dette tilfellet er sann. I Python fungerer dette på samme måte:
if alder > 18: print("Jeg er voksen") elif alder < 18 and alder > 13: print("Jeg er tenåring") else: print("Jeg er barn")
Når programmet kommer til if -setningen, vil det sjekke verdien av variabelen som kalles alder mot alle betingelsene, i rekkefølge fra topp og nedover, og vil skrive ut resultatet på skjermen. Legg merke til at elif betyr «else» og «if» eller «ellers hvis». Så hvis den variabelen alder inneholder verdien 15, vil utsagnet «Jeg er tenåring» bli skrevet ut på skjermen.
Steg 8. Sjekk for likhet
En grunnleggende ting du vil gjøre med programmet ditt er å sjekke om et nummer er lik et annet. La oss si at brukeren forteller deg hvor mange spørsmål de svarte feil på en eksamen, og avhengig av antall korrekt besvarte spørsmål, kan du foreslå en karakter. For tall og strenger gjøres dette med en enkel syntaks: «==». Hvis du eksplisitt vil kontrollere ulikhet, bruker du «!=».
if a == 3: print("Verdien er 3") elif a != 3: print("Verdien er ikke 3")
Legg merke til at betingelsen «a != 3» er overflødig i dette eksemplet. I den første betingelsen sjekker vi om variabelen a har verdien 3, og i den andre kontrollerer vi om a IKKE har verdien 3. Men hvis den første betingelsen ikke er sann (a er faktisk ikke 3), er den andre betingelsen per definisjon sann. Så en mer effektiv måte å skrive ovennevnte betinget er slik:
if a == 3: print("Verdien er 3") else: print("Verdien er ikke 3")
Steg 9. Sjekk om tallet er et oddetall eller partall
Tidligere har vi lagret tallet i en variabel «tallet». Nå skal vi bruke denne variabelen for å sjekke om det er et oddetall eller et partall.
tallet = input("Skriv inn et tall: ")
Det som blir lagret i variabel «tallet» er en verdi av type «string». Programmet vet ikke om du skrev et tall eller et ord.
For å fortelle Python at du forventer et tall, må du konvertere tallet om til en verdi av type «integer» – heltall:
tallet = input("Skriv inn et tall: ")
heltall = int(tallet)
Nå kan vi finne resten av divisjonen mellom tallet og 2:
tallet = input("Skriv inn et tall: ")
heltall = int(tallet)
resten = heltall % 2
Det som gjenstår er å sjekke om «resten» er 0 eller ikke:
tallet = input("Skriv inn et tall: ") heltall = int(tallet) resten = heltall % 2 if resten == 0: print("Dette er et partall!") else: print("Dette er et oddetall!")