-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathsolution-a6.py
38 lines (31 loc) · 1.04 KB
/
solution-a6.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def gcd(a, b): # Räkna ut gcd för a och b
while a != b: # Så länge talen inte är lika:
if a > b: # Om a är större än b
a = a - b # Ändra på a genom att subtrahera b
else: # Annars (dvs b är större än a)
b = b - a # Ändra på b genom att subtrahera a
# Nu är while-loopen färdig
# dvs a och b är lika
return a # Returnera gcd, dvs nuvarande värdet på a
def simplify(t,n):
d = gcd(t,n)
return (t//d, n//d)
def invent_fraction():
from random import randint
t = randint(1,9)
n = randint(1,9)
d = randint(2,9)
return(t*d,n*d)
def str_fraction(a,b):
return str(a) + "/" + str(b)
def game():
(a,b) = invent_fraction()
print("Förenkla " + str_fraction(a,b))
pa = int(input("Vad blir täljaren?"))
pb = int(input("Vad blir nämnaren?"))
(ca,cb) = simplify(a,b) # Correct answer
if (pa==ca) & (pb==cb):
print("Bra gjort! Ditt svar var rätt: " + str_fraction(ca, cb))
else:
print("Tyvärr, rätt svar är " + str_fraction(ca,cb))
game()