Script OGR

#!/usr/bin/python
# -*-coding:Utf-8 -*

# Vérifie si l'ensemble des nombres passés en paramètre vérifie la règle de Golomb
# exemple:
# python golomb.py 0 1 3 6 ...
# renvoie "not optimal", "optimal" ou "perfect"
import sys

liste = []
for i in sys.argv:
	try:
		t = int(i)
		liste.append(t)
	except ValueError:
		pass

calcul = []

for i in range(0, len(liste)):
	for j in range(i+1, len(liste)):
		c = liste[j] - liste[i]
		calcul.append(c)

calcul.sort()

last = calcul[-1]
has_duplicate = 0
for i in range(len(calcul)-2, -1, -1):
	if last == calcul[i]:
		has_duplicate = 1
	last = calcul[i]

if has_duplicate:
	print "not optimal"
else:
	if len(calcul) == calcul[-1]:
		print "perfect"
	else:
		print "optimal"
retour