diff --git a/Exercise 2/11 - Andregradsligning/task11b.py b/Exercise 2/11 - Andregradsligning/task11b.py index f9bfa84..5ca1d6a 100644 --- a/Exercise 2/11 - Andregradsligning/task11b.py +++ b/Exercise 2/11 - Andregradsligning/task11b.py @@ -1,30 +1,35 @@ from math import sqrt + def getValues(): while True: - values = input('Gi inn en andregradsliknings a, b og c separert med mellomrom:\n\t') + 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]) - } + return ( + int(splitValues[0]), + int(splitValues[1]), + 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"]}' +a, b, c = getValues() +d = b**2 - 4 * a * c + +expression = f'{a}x^2 + {b}x + {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]}') + roots = [(-b + sqrt(d)) / (2 * a), (-b - sqrt(d)) / (2 * 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']) + root = (-b + sqrt(d)) / (2 * a) print(f'Andregradsligningen {expression} har en reell dobbelrot {root}') else: print(f'Andregradsligningen {expression} har to imaginære løsninger') \ No newline at end of file