Programmeringskurs (alle) *: 1.3 Variabler

Teori Definere type input

Nå har vi sett at input kan brukes til å la brukeren av programmet påvirke hva programmene vi lager, skal gjøre.

Vi kan be brukeren om å skrive inn verdien til en variabel ved å bruke koden:

variabel_navn = input("Beskjed til brukeren")

Da kan vi lage nyttige programmer i matematikken som gjør tidkrevende utregninger raskt. I eksempelet ovenfor skriver brukeren inn navnet sitt – en tekststreng. Når vi bruker input, vil det brukeren skriver inn, i utgangspunktet uansett tolkes som en streng. Skriver vi for eksempel

tall = input("Skriv inn et tall:")

oppretter vi variabelen tall og ber brukeren skrive inn et tall. Men datamaskinen forstår ikke automatisk om inputverdien er tall. Derfor bør vi alltid bruke den samme metoden som vi brukte for å gjøre om heltall til desimaltall, og motsatt. Ved å bruke int() eller float() kan vi kontrollere at inputverdien blir forstått som henholdsvis heltall og desimaltall.

tall = input("Skriv inn et tall:")
# koden nedenfor gjør om input til et heltall
tall_heltall = int(tall)
# koden nedenfor gjør om input til et desimaltall
tall_desimal = float(tall)

I koden ovenfor oppretter vi først variabelen tall og ber brukeren skrive inn et tall. I de følgende linjene lager vi nye variabler som sørger for at tallet blir forstått som henholdsvis et heltall og et desimaltall. Husk at dersom brukeren skriver inn et desimaltall, vil koden int(tall) fjerne desimalene. Vi bør derfor være sikre på at brukeren skriver inn et heltall når vi bruker denne.

Ønsker vi å spare linjer i koden vår, kan vi gjøre om til riktig type direkte. Dersom vi setter float() rundt input(), blir det brukeren skriver inn, et desimaltall:

tall = float(input("Skriv inn et tall:"))

Med dette på plass kan vi lage programmer som regner om mellom ulike størrelser og bruker input fra brukeren.

  1. 1
  2. 1

En nautisk mil er #1852# meter lang.

a) Lag et program som regner om kilometer til nautiske mil. Resultatet skal oppgis med to desimaler.

I programmet må brukeren først skrive inn antall kilometer. Det gjør vi slik:

km_input = input("Skriv inn antall kilometer:")

Deretter gjør vi om inputverdien til et desimaltall som vi kan regne med:

km_desimal = float(km_input)   # Input til desimaltall

Nå regner vi om kilometer til nautiske mil. En kilometer er #1000# meter, dermed er #1# nautisk mil #=1,852# km. For å regne om fra kilometer til nautiske mil deler vi derfor antall kilometer på #1,852#.

nmi = km_desimal/1.852         # km til nautiske mil

Så runder vi av svaret til to desimaler:

nmi_avrundet = round(nmi, 2)   # Runder av til to desimaler

Til slutt skriver vi ut en setning med svaret. Merk at vi bruker variabelen km_input. Det programmet da skriver ut, er likt det brukeren skrev inn.

print(km_input, " km svarer til ", nmi_avrundet, "nmi")

Hele koden blir slik

km = input("Skriv inn antall kilometer:")
km_desimal = float(km) # Input til desimaltall
nmi = km_desimal/1.852 # Regner om km til nautiske mil
nmi_avrundet = round(nmi, 2) # runder av til to desimaler
print(km, "km svarer til", nmi_avrundet, "nmi.")
Nytt eksempel


ØVELSE

1) Nedenfor har vi skrevet inn eksemplet ovenfor.

2) Endre koden slik at den regner om fra kilometer til nautiske mil med #3# desimaler i svaret.

Cappelen Damm Kontakt: cda-matematikk@cappelendamm.no | Hva er Student? | Personvernerklæring | Rettigheter