es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de tipo: no es compatible con instancias de ‘lista’ e ‘entero’

Estoy obteniendo un error de tipo en el siguiente código:

importar aleatorio

def f(x):
devolver x ** 2

def Muestra(npts):
muestra = []

Generar números aleatorios de 0 a 10.

randomlist = []
para _ en rango(npts): # simplemente contando de 0 a npts-1
r = aleatorio.aleatorio() # aleatorio.aleatorio() genera números de 0 a 1, incluyendo 0.2, etc.
r *= 10 # convertir a un rango de 0 a 10
afirmar r & gt; = 0 y r & lt; = 10, “el número aleatorio r debe estar en [0, 10]” # verificar que r esté en [0, 10]
lista aleatoria.insertar(r) # guardar en una lista

Guardar resultado de la función f

para v en randomlist: # obtener cada elemento de la lista
y = f(v)
muestra. Añadir(y)

devuelve muestra

iniciar

npts = 100
resultado = Muestra(npts)
imprimir(f’resultado longitud: {len(resultado)}’)
imprimir(f’resultado: {resultado}’)

Presumo que esto se debe a que estoy tratando de verificar entre un entero y una lista. Me han dicho que se puede usar numpy para calcularlo según lo previsto, sin embargo, no lo entiendo muy bien, así que si alguien pudiera explicármelo, estaría muy agradecido.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás obteniendo un error de tipo porque estás intentando comparar un int y una list. Puedes usar NumPy para calcular el resultado como se pretendía. Aquí tienes un ejemplo de cómo usar NumPy para generar una lista de números aleatorios y aplicar la función f a cada elemento:

    import numpy as np
    
    def f(x):
        return x**2
    
    # Genera números aleatorios del 0 al 10.
    randomlist = np.random.randint(0, 10, size=100)
    
    # Guarda el resultado de la función f
    result = f(randomlist)
    
    print(f'longitud del resultado: {len(result)}')
    print(f'resultado: {result}')
    

Comments are closed.