Supposons que coffre est une liste de coordonnées qui sont deux listes d'éléments.Retourne le résultat le plus grand ou le plus petit d'une boucle for en python
Par exemple poitrine = [[2,4], [4,5], [1,3]]
Avec la fonction ci-dessous, je veux la distance entre le point (x, y) et chaque des points de la poitrine. Donc, comme il est, la fonction reviendrait ces trois distances, non? Mais ma question est, comment puis-je retourner seulement le plus petit (ou plus grand) résultat de ces trois valeurs? Y at-il un moyen de le faire sans créer une nouvelle liste de distances?
def makeMove (planche, poitrine, x, y):
for cx, cy in chests:
distance = sqrt(abs((x-cx)**2) + abs((y-cy)**2)))
return distance
Ne devriez-vous pas utiliser 'abs (x - cx)' au lieu de 'abs (x) - abs (cx)' (et respectivement pour y)? Ce dernier est garanti pour donner une valeur non négative alors que la dernière est incorrecte pour les valeurs négatives et se bloque si la différence est <0. Aussi, tapotement stylistique: Utilisez des tuples pour des séquences immuables de longueur fixe comme des points et ne placez pas d'espaces autour de la fonction invocation parens (comme dans le second appel 'abs'). – delnan