Python - Almacenar el numero correspondiente

 
Vista:
Imágen de perfil de Enrique
Val: 35
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Almacenar el numero correspondiente

Publicado por Enrique (13 intervenciones) el 26/01/2021 03:10:08
Necesito su ayuda gente. Estoy haciendo un programa que hace lo siguiente:

Tengo estas listas

1
2
3
4
5
6
7
import random
 
lista_1 = [0.146700093, 0.30557612212, 0.495856868594, 0.84845454554, 0.99999999121]
lista_2 = [1,2,3,4,5]
lista_nueva = []
 
numero = random.random()

Cada numero de la lista 2 corresponde al de la lista 1. Lo que quiero hacer es generar un numero decimal aleatorio entre 0 y 1 y verificar si ese numero es menor que alguno de los que se encuentra en la lista 1 y guardar en la lista nueva el numero correspondiente de la lista 2.

Ejemplo. Si el numero aleatorio es menor que el ultimo numero de la lista 1, que guarde en la lista nueva el numero 5 de la lista 2, si no lo es, que se compare con el anterior y asi.

Y eso lo tiene que correr dependiendo del numero de elementos que hay en la lista 2 (osea 5 veces).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Almacenar el numero correspondiente

Publicado por Joel (901 intervenciones) el 26/01/2021 08:11:55
Hola Enrique, no me queda claro el tema de la lista_2... pero los elementos de la lista_1, van del 0 al 4, ya que el indice empieza por el 0.

Según entiendo, dado un numero aleatorio entre 0 y 1, quieres encontrar la posición en la lista_1 de ese numero aleatorio, cierto?

Por ejemplo, si el numero es el 0.45 su posición seria entre el 0.30557612212 y el 0.495856868594, por lo que sera el indice 2 de la lista_1

Seria correcto así?

1
2
3
4
5
6
7
import random
 
lista_1 = [0.146700093, 0.30557612212, 0.495856868594, 0.84845454554, 0.99999999121]
aleatorio=random.random()
posicion=[i for i in range(len(lista_1)) if lista_1[i]>aleatorio][0]
 
print(f"El numero {aleatorio} va en la posición {posicion}")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique
Val: 35
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Almacenar el numero correspondiente

Publicado por Enrique (13 intervenciones) el 26/01/2021 18:07:52
Si. La idea de la lista 2 es que, siguiendo el ejemplo que propones, en lugar de imprimir el numero 2 del índice de la lista 1 imprimiría el numero 3 de la lista 2 porque estaría entre el numero 2 y 3 de la lista 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar