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.

Tarea de arreglo. Encontrar los dos últimos números negativos en el arreglo.

Buscar los números de los dos últimos elementos negativos consecutivos en una matriz. La longitud de la matriz se introduce desde el teclado. Tipo de dato: Float.

Mi código es:

import math
import numpy
import random

i = (random.uniform(-1000, 1000))

o = []
a = []
n = int(input())
n += 1
l = 0
sh = 1
m2 = n
m = n-1
m=int(m)
for i in range(n):
    x = (random.uniform(-1000, 1000))
    a.append(x)
for i in range(m):
    otric = a.pop(m)
    otric = int(otric)
    a.insert(otric,int(m+1))
    if otric < 0:
        o.append(otric)
        m -= 1
        if len(o) > 2: break
print(a)
print(o)

y esto no funciona, no sé cómo arreglarlo.. por favor ayuda

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, me resulta difícil depurar código, pero he notado que hay algunos errores de sintaxis en tu código. Específicamente, el símbolo “<” debe ser reemplazado con el símbolo “<“, y “>” debe ser reemplazado con el símbolo “>”.

    Además, necesitas modificar tu código para almacenar correctamente los índices de los valores negativos en el arreglo. Una vez que tengas los índices de los valores negativos, puedes determinar fácilmente los dos últimos elementos negativos consecutivos.

    Aquí tienes un código modificado que debería ayudarte a resolver el problema:

    import math
    import numpy
    import random
    
    n = int(input("Ingrese la longitud del arreglo: "))
    a = []
    
    for i in range(n):
        a.append(random.uniform(-1000, 1000))
    
    last_negative_index = None
    second_last_negative_index = None
    
    for i in range(n-1, -1, -1):
        if a[i] < 0:
            if last_negative_index is None:
                last_negative_index = i
            else:
                second_last_negative_index = i
                break
    
    if second_last_negative_index is None:
        print("No hay elementos negativos consecutivos en el arreglo.")
    else:
        print(f"Los dos últimos elementos negativos consecutivos son {a[second_last_negative_index]} y {a[last_negative_index]}.")
    

    Este código crea un arreglo de longitud n con valores de punto flotante aleatorios entre -1000 y 1000. Luego itera a través del arreglo en orden inverso para encontrar los índices de los dos últimos elementos negativos consecutivos. Finalmente, imprime los valores de esos dos elementos.

Comments are closed.