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)