Level 3Kalkulator

Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim

Kurs: Python
Tema: Tekstbasert
Fag: Matematikk, Programmering
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Kalkulator

I denne oppgaven skal du lage en kalkulator helt på egenhånd. Det er meningen at du i denne oppgaven skal skrive all koden selv, ved hjelp av noen hint.

Vi ønsker at kalkulatoren skal kunne addere (+), subtrahere (-), multiplisere (*) og dividere (/). Vi kaller +, -, * og / for operatorer, og i denne oppgaven skal du lage en funksjon for hver operator (disse kan du for eksempel kalle add, subtract, multiply og divide). Hver funksjon skal ha to tall som parametre og skal utføre regneoperasjonen, samt skrive ut svaret.

Brukeren skal selv skrive inn hva slags regneoperasjon som skal utføres.

Eksempel på bruk av programmet:

Illustrasjon av en ferdig kalkulator

Klar, ferdig, programmer!

Da er det bare å sette i gang!

Her er noen ting å tenke på:

  • Hvordan avgjør du hvilken operasjon som skal utføres?

  • Har rekkefølgen på tallene noen betydning? (Er 4-2 lik 2-4?)

  • Hvis du sitter fast kan det være lurt å lese tipsene i de gule boksene.

int()

Når man får input fra brukeren får man en tekst, som på fagspråket kalles streng, selv om brukeren skrev et tall, da kan det være greit å kunne konvertere teksten til et tall, ved hjelp av int().

Hva er forskjellen på disse kodesnuttene? (Kjør koden og test selv!)

tall = input("Skriv et tall: ")
svar = 3 + tall
print(svar)
tall = int(input("Skriv et tall: "))
svar = 3 + tall
print(svar)

Funksjoner med parametre

En funksjon deklareres ved hjelp av def-nøkkelordet. Den kan brukes ved å skrive funksjonsnavnet med parenteser bak.

Eksempel:

def hello_word():
    print("Hello World!")

hello_world()

En funksjon som har parametre deklareres med parametre på innsiden av parentesene i funksjonsdefinisjonen.

Eksempel:

def greet(firstName, lastName):
    print("Hello, " + firstName + " " + lastName)

Når vi senere kaller funksjonen, så gir vi den argumenter.

Eksempel:

greet("Ola", "Nordmann")

Du la kanskje merke til at vi skiller mellom parametre og argumenter. Et parameter er det navnet vi gir til variabelen i funksjonendefinisjonen, slik som firstName og lastName. Argumenter er de verdiene vi gir til funksjonen når vi kaller den, slik som "Ola" og "Nordmann".

Test programmet

Delt på null

Hvis programmet ditt feiler nå, så har du trolig fått en delt-på-null-feil. Man kan nemlig ikke dele på null. Fiks programmet ditt slik at programmet skriver ut "Division by zero is not allowed!" hvis brukeren forsøker å dele på null. Slik:

Bildet av å prøve å dele på null i programmet

Flere utregninger

Bilde av hvordan programmet virker når brukeren kan velge antallutregninger

Flere operasjoner

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!