Det kan i mange sammenhenger være praktisk å få en input fra brukeren. La oss lage et lite program som kan gjøre om fra km/h til m/s og omvendt.

Vi ønsker at brukeren av programmet skal gjøre et valg, og basert på valget, så kommer programmet til å oppføre seg annerledes. Dersom brukeren skal gjøre et valg, så må jo programmet først stille et spørsmål, så stoppe opp og vente på et svar.

Vi bruker bare ‘print’ til å stille et spørsmål, men for at programmet skal stoppe og vente på svar, så bruker vi ‘input-funksjonen’. Husk at alle funksjoner skal ha en parantes etter seg:

print("Velg:")
print("1: km/h --> m/s")
print("2: m/s --> km/h")
svar = input()

Denne koden gjør jo ikke annet enn å stille spørsmålet, og lagre svaret i variabelen «svar». Deretter må vi benytte oss av hva brukeren har svart. Dersom brukeren har svart «1», så bør vi jo stille et nytt spørsmål osv. Sjekk denne koden, og se om den gir mening:

print("Velg:")
print("1: km/h --> m/s")
print("2: m/s --> km/h")
svar = input()

if svar == "1":
    print("Hvor mange km/h?")
    kmh = float(input()) #Jeg bruker float() rundt input for å gjøre verdien om fra tekst til desimaltall (float)
    ms = kmh / 3.6
    print(kmh, "km/h  =  ", ms, "m/s")

Dersom vi ønsker å gjøre beregninger med det som brukeren legger inn, så må vi gjøre om verdien til en annen datatype. Input-funksjonen tolker alt som kommer som tekst, og dette må gjøres om til heltall (integer) eller desimaltall (float).

Oppgave

Bygg ut programmet ditt, til å bli en omgjøringsmaskin. Den kan inneholde:

  • miles per hour <-> km/h
  • miles <-> km
  • yard <-> meter
  • tommer <-> cm
  • ounce <-> gram
  • farenheit <-> celcius
  • +++++++

Her må du tenke deg godt om, for det skal jo være et enkelt program å bruke også!