restar dos listas
Publicado por didi (1 intervención) el 15/02/2005 19:36:41
hola soy estudiante y tengo que haer un algoritmo que dadas dos listas debo restar su informacion
ej.
187
-23
ej.
187
-23
Valora esta pregunta


0
def restar_listas(lista1, lista2):
# Asegurarse de que ambas listas tengan la misma longitud
if len(lista1) < len(lista2):
lista1, lista2 = lista2, lista1 # Intercambiar para que la lista1 sea siempre la más larga
# Rellenar con ceros para que ambas listas tengan la misma longitud
while len(lista2) < len(lista1):
lista2.insert(0, 0)
resultado = []
carry = 0 # Llevamos para la resta
for i in range(len(lista1) - 1, -1, -1):
digito_resultado = lista1[i] - lista2[i] - carry
# Manejar el carry
if digito_resultado < 0:
digito_resultado += 10
carry = 1
else:
carry = 0
resultado.insert(0, digito_resultado)
# Eliminar ceros no significativos al principio del resultado
while resultado[0] == 0 and len(resultado) > 1:
resultado.pop(0)
return resultado
# Ejemplo de uso
numero1 = [1, 8, 7]
numero2 = [0, 2, 3]
resultado = restar_listas(numero1, numero2)
print("Resultado de la resta:", resultado)