Løsningsforslag 3
Oppgave 1
ord1 = input("Skriv et ord: ")
ord2 = input("Skriv et annet ord: ")
ord3 = input("Skriv et siste ord: ")
len1 = len(ord1)
len2 = len(ord2)
len3 = len(ord3)
kortest = min(len1, len2, len3)
if len1 == kortest:
print(ord1)
if len2 == kortest:
print(ord2)
if len3 == kortest:
print(ord3)
Oppgave 2
year = input("Angi år: ")
if year % 400 == 0:
print("Dette er et skuddår.")
elif year % 100 == 0:
print("Dette er ikke et skuddår.")
elif year % 4 == 0:
print("Dette er et skuddår.")
else:
print("Dette er ikke et skuddår.")
Eller bare en betingelse, ved bruk av and
og or
:
year = input("Angi år: ")
is_leapyear = (
(year % 400 == 0)
or
((year % 4 == 0) and (year % 100 != 0))
)
if is_leapyear:
print("Dette er et skuddår.")
else:
print("Dette er ikke et skuddår.")
Oppgave 3
menneske = input('Angi menneskeår: ')
if menneske <= 2:
hund = menneske * 10.5
else:
hund = 21 + (menneske - 2) * 4
print(f"Dette tilsvarer {hund:.1f} hundeår.")
Uten bruk av if:
menneske = input('Angi menneskeår: ')
hund = min(2, menneske) * 10.5
hund += max(0, (menneske-2) * 4)
print(f"Dette tilsvarer {hund:.1f} hundeår.")
Vi har fortsett en betingelse her, der programmet kan ta ulike veier, men den er nå gjort innenfor min- og max-funksjonen.
Oppgave 4
ord1 = input("Skriv et ord: ")
ord2 = input("Skriv et annet ord: ")
ord3 = input("Skriv et siste ord: ")
len1 = len(ord1)
len2 = len(ord2)
len3 = len(ord3)
kortest = min(len1, len2, len3)
if len1 == kortest:
print(ord1)
elif len2 == kortest:
print(ord2)
elif len3 == kortest:
print(ord3)
Oppgave 5
unit = input("Enter a unit (nm or THz): ")
if unit == "nm":
w = int(input("Enter a value in nm: "))
if 380 <= w < 450:
color = "Violet"
elif 450 <= w < 485:
color = "Blue"
elif 485 <= w < 500:
color = "Cyan"
elif 500 <= w < 565:
color = "Green"
elif 565 <= w < 590:
color = "Yellow"
elif 590 <= w < 625:
color = "Orange"
elif 625 <= w < 740:
color = "Red"
else:
color = f"There is no color with wavelength {w} nm"
elif unit == "THz":
f = int(input("Enter a value in nm: "))
if 680 <= f < 790:
color = "Violet"
elif 620 <= f < 680:
color = "Blue"
elif 600 <= f < 620:
color = "Cyan"
elif 530 <= f < 600:
color = "Green"
elif 510 <= f < 530:
color = "Yellow"
elif 480 <= f < 510:
color = "Orange"
elif 405 <= f < 480:
color = "Red"
else:
color = f"There is no color with frequency {f} THz"
else:
color = f"The unit must be either nm or THz, it cannot be {unit}"
print()
print(color)