from math import sqrt def getValues(): while True: values = input('Gi inn en andregradsliknings a, b og c separert med mellomrom:\n\t') try: splitValues = values.split(' ') assert len(splitValues) == 3 return { 'a': int(splitValues[0]), 'b': int(splitValues[1]), 'c': int(splitValues[2]) } except ValueError: print('Sørg for at alle tallene er heltall.\n') except AssertionError: print('Det skal bare være 3 tall.\n') values = getValues() d = values['b']**2 - 4 * values['a'] * values['c'] expression = f'{values["a"]}x^2 + {values["b"]}x + {values["c"]}' if d > 0: roots = [ (-values['b'] + sqrt(d)) / (2 * values['a']), (-values['b'] - sqrt(d)) / (2 * values['a'])] print(f'Andregradsligningen {expression} har de to reelle løsningene {roots[0]} og {roots[1]}') elif d == 0: root = (-values['b'] + sqrt(d)) / (2 * values['a']) print(f'Andregradsligningen {expression} har en reell dobbelrot {root}') else: print(f'Andregradsligningen {expression} har to imaginære løsninger')