Imprimiendo los números float en Python para Sistema de Coordenadas.
Estoy intentando escribir un método que genere y devuelva n puntos aleatorios en un espacio bidimensional dado el ancho y la altura en Python. Codifiqué un algoritmo pero quiero recibir puntos flotantes en el sistema.
Aquí está mi código:
import random
npoints = int(input("Escriba el número de puntos:"))
width = int(input("Ingrese el ancho que desea:"))
height = int(input("Ingrese la altura que desea:"))
allpoints = [(a,b) for a in range(width) for b in range(height)]
sample = random.sample(allpoints, npoints)
print(sample)
La salida es:
Escriba el número de puntos: 4
Ingrese el ancho que desea: 10
Ingrese la altura que desea: 8
[(8, 7), (3, 3), (7, 7), (9, 0)]
¿Cómo puedo imprimirlos como flotantes? Por ejemplo: (8,75, 6,31)
Muchas gracias por la ayuda.
davy.ai
Para generar puntos flotantes aleatorios en lugar de puntos enteros, puedes modificar el código para usar
random.uniform()
en lugar derange()
, así:En este código actualizado, se utiliza
random.uniform()
para generar coordenadas aleatorias entre 0 y el ancho/alto especificado. Se utiliza el marcador_
en el bucle for porque en realidad no necesitamos el valor del índice.Esto generará una lista de n pares de coordenadas flotantes en el rango [0.0, ancho) y [0.0, alto), donde los valores pueden incluir partes fraccionarias.
Salida de muestra: