# Définition dans le fichier cube.py
def cube(x):
	"""Retourne le cube de <x>."""
	return x**3

# Auto-test ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if __name__ == "__main__": # Vrai car on est dans le module principal
if cube(9) == 729:
print("OK !")
else:
print("KO !")


# Utilisation dans le fichier calculcube.py
import cube
# On est dans le fichier qui utilise (qui importe) le fichier cube.py
# Programme principal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for i in range(1, 5):
	print("cube de", i, "=", cube.cube(i))

# cube de 1 = 1
# cube de 2 = 8
# cube de 3 = 27
# cube de 4 = 64


# Autre exemple ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fichier validation.py (module validation)
def ok(message) :
	"""Retourne True si on saisit <Entrée>, <O>, <o>, <Y> ou <y>,
	False dans tous les autres cas."""
	s = input(message + " (O/n) ? ")
	return True if s == "" or s[0] in "OoYy" else False

# Auto-test ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if __name__ == '__main__' :
	while True:
		if ok("Encore"):
			print("Je continue")
		else:
			print("Je m'arrête")
			break

# Utilisation dans le module validation :
Encore (O/n) ?
Je continue
Encore (O/n) ? o
Je continue
Encore (O/n) ? n
Je m'arrête
