epicours/Algo/B2/Exercises/Imperative exercise.md

836 B

Exercise 1:

def test (n: int) -> bool:
	return n >= 100 and n < 100

def sum_digits (n: int) -> int:
	a = n//100
	b = (n//10)%10
	c = n%10
	return (a+b+c)

def product_digits (n):
	a = n//10
	b = (n//10) % 10
	c = n % 10
	return (a*b*c)

def abs (n):
	if n > 0:
		return n
	else:
		return -n

def loop (n):
	n = abs(n)
	if (sum_digits(n) == product_digits(n)):
		return n
	else
		return loop(n+1)

Exercise 2:

def max3 (x: int, y: int, z: int) -> int:
	if ((x > y) and (x > z)):
		m = x
	elif ((y > x) and (y > z)):
		m = y
	elif ((z > x) and (z > y)):
		m = z
	return m


def main():
	print("Give a 3-digit number")
	n = int(input())
	if test(n):
		res = loop(n)
		if res != 1:
			print(res, "is the mystery number")
		else:
			print("Try again")
			main()
	else:
		print("set a 3 digits number")
		main()