'''Realizacja prostego algorytmu Euklidesa obliczającego największy wspólny dzielnik (NWD)
(wersja z odejmowaniem) dla dwóch liczb całkowitych większych od zera.
Materiał dydaktyczny, poziom szkoły podstawowej.
Python 3'''
# Daria Kosztowniak
def wprowadz_liczbe(informacja):
'''Funkcja pozwala na wprowadzanie liczb całkowitych
większych od zera.'''
i = 0
komunikat = 'Wpisz liczbę całkowitą większą od zera!'
while True:
try:
i = int (input (informacja))
if i > 0:
return i
else:
print (komunikat)
except:
i = 0
print (komunikat)
def nwd(a,b):
''' Funkcja obliczająca NWD dla liczb całkowitych
większych od zera - wersja z odejmowaniem.'''
while not(a == b):
if a > b:
a = a - b
else:
b = b - a
return a
while True:
print ('Wprowadź kolejno dwie liczby większe od zera.')
a = wprowadz_liczbe('a = ')
b = wprowadz_liczbe('b = ')
print('Wprowadzone liczby: a =', a, ', b =', b)
print ('NWD =', nwd(a, b))
if input('Zakończyć program? (t/n) ').lower() == 't':
break