Bonsoir,

Je réalise un programme me permettant de tracer tous les cercles circonscrits possibles avec N points. J'ai donc fais une fonction prenant comme paramètres 3 points et affichant le cercle circonscrit du triangle formé par ces 3 points.

Mon problème : Ma fonction trace tous les cercles circonscrits possibles, c'est à dire que pour des points E,F,G elle me trace par 6 fois des cercles circonscrits identiques.
C'est à dire : E,F,G - E,G,F - G,E,F - G,F,E - F,E,G - F,G,E ... bonjour les calculs inutiles ...

Donc évidement j'ai chercher à palier ce problème mais je manque d’efficacité. Pour ça j'ai créé ce script simulant mes points par des caractères :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
def circonscrit(A,B,C) :
    if A == B or A == C or B == C : # Ici j'élimine une partie des doublons
        print('-----')
    else :
        print(A,B,C) # Mais j'en ai encore beaucoup trop.
 
 
def CbDePoints():
    nb = int(input('Combien de points désirés? '))
    for i in range(nb):
        for j in range(nb):
            for k in range(nb):
                    circonscrit(i,j,k)
                    # Pour chaque possibilité d'assemblage de 3 points,
                    # j'applique la fonction circonscrit
 
 
print()
CbDePoints()
Donc comment détecter quelque part que A,B,C est pareil que B,C,A etc ... ?

Merci de m'avoir lu et j'espère que vous m'avez compris