I just cant find the problem here. I have searched for it. but that did not solve my problem.

def fentanyl(): # This one Works vaegt = int(input("Hvad vejer patienten? ")) max_dosis = vaegt * 4 max_volumen = vaegt * 4 * 2 / 100 print(f"Du må max total give ptt. {max_dosis} mikrogram, sv. {max_volumen} ml") mk_kg = float(input("Hvor mange mikrogram pr. kg. vil du give? ")) mk_kg *= vaegt dosis = mk_kg * 2 / 100 print(f"Du skal give {mk_kg} mikrogram") print(f"Du skal give {dosis} ml.") def adrenalin(): #this does not work vaegt = int(input("Hvad vejer patienten? ")) tilbage = vaegt % 5 vaegt -= tilbage if tilbage > 2: vaegt += 5 dosis = vaegt * 0.01 if vaegt >= 50: print("Du skal give 0.5 mg, sv. 0.5 ml!") else: print(f"Du skal give {dosis} mg, sv. {dosis} ml!") # It says here that UnboundLocalError: local variable 'dosis' referenced before assignment def midazolam(): # This does not Work vaegt = int(input("Hvad vejer patienten? ")) tilbage = vaegt % 5 vaegt -= tilbage if tilbage > 2: vaegt += 5 #### problemer når den udregner med præcis 13 kg!!!!!!!!!!!!!! #Only note to myself, dont think about this dosis = vaegt * 0.2 ml = dosis * 2 / 10 if vaegt >= 50: print("Giv 10 mg, sv. 2 ml intranasalt!") else: print(f"Du skal give {dosis} mg, sv. {ml} ml!") medicin = (input("Hvilken medicin vil du give? ")) if medicin.lower() in ("fentanyl", "fen", "fenta", "fe"): fentanyl() elif medicin.lower() in ("adrenalin", "ad", "adre"): adrenalin() elif medicin.lower() in ("midazolam", "mi", "mida"): midazolam()