Salut à tous !
Je suis actuellement en 1ère année de CPGE et j'ai pour projet de travailler sur un TIPE lié à python, et je rencontre un "petit" problème qui suite à des recherches sur Google, ne semble pas pouvoir se résoudre simplement (du moins, je pense)
Du coup voilà ce que je veux faire : créer un tableau contenant NbPt points de coordonnées aléatoires, et leurs coordonnées doivent être toutes différentes les unes des autres (pas de répétition de coordonnées du genre 2 points au même endroit, ni 2 points de mêmes abscisses/ordonnées). La fonction Point est créer , et à priori marche très bien (j'ai vérifier sur plusieurs cours en ligne, ça c'est bon)
Ce que je n'arrive pas à faire : justement, c'est cette histoire de coordonnées totalement différentes qui n'aboutit pas... J'ai essayé plusieurs méthode et voilà le code qui, selon moi, est le plus aboutit :
Ici je veux des coordonnées aléatoires comprises entre 0 et 20 ; mais le problème c'est que j'ai ce messages d'erreur () :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 import random def Tableau(NbPt): liste=[] for i in range (NbPt): a=random.randint(0,20) b=random.randint(0,20) if a!=b : for i in range (len(liste)): if liste[i]!=a and liste[i]!=b : liste.append(Point(a,b)) return liste
Du coup, semblerait il que je ne puisse pas comparer à chaque fois les coordonnées aux précédentes pour vérifier qu'elles soient non seulement différentes entre elles mais aussi différentes à celles qui les précèdentFile "H:\TIPE1.py", line 15, in Tableau
if liste[i]!=a and liste[i]!=b :
IndexError: list index out of range
J'avais également tenter de créer 2 listes de nombres tous différents et d'ensuite piocher dans ces listes avec la fonction "sample" mais pas moyen d'aboutir, j'ai des messages d'erreurs ou alors des points qui ont parfois les mêmes abscisses/ordonnées
Est ce qu'un petit coup de main serait possible ?
Merci d'avance !
EDIT : j'ai oublié de préciser (même si ça pourrait peut être sembler logique pour certains, je sais pas) mais "a" c'est l'abscisse du point et "b" l'ordonnée
Partager