Python | Producto triple a K

El problema de obtener el producto del número de pares que conducen a una solución particular se ha tratado muchas veces, este artículo tiene como objetivo extenderlo a 3 números y discutir varias formas en que se puede resolver este problema en particular. Analicemos ciertas formas en que esto se puede realizar.

Método n.º 1: uso de bucles anidados
Este es el método ingenuo en el que se puede resolver este problema en particular y toma el bucle externo para iterar cada elemento y el bucle interno verifica la diferencia restante multiplicando los pares para obtener el resultado.

# Python3 code to demonstrate
# 3 element product
# using nested loops
  
# initializing list
test_list = [4, 1, 3, 2, 6, 12]
  
# initializing product
product = 24
  
# printing original list
print("The original list : " + str(test_list))
  
# using nested loops
# 3 element product
res = []
for i in range(0, len(test_list)-2):
    for j in range(i + 1, len(test_list)-1):
        for k in range(j + 1, len(test_list)):
            if test_list[i] * test_list[j] * test_list[k] == product:
                temp = []
                temp.append(test_list[i])
                temp.append(test_list[j])
                temp.append(test_list[k])
                res.append(tuple(temp))
  
# print result
print("The 3 product element list is : " + str(res))
Producción :

The original list : [4, 1, 3, 2, 6, 12]
The 3 product element list is : [(4, 1, 6), (4, 3, 2), (1, 2, 12)]

Método #2: Usaritertools.combination()
Este problema en particular también se puede hacer de manera concisa usando la función incorporada de función. La función de combinación encuentra todas las combinaciones tomando K argumentos que conducen a un producto en particular.

# Python3 code to demonstrate
# Triple Product to K
# using itertools.combination()
from itertools import combinations
  
# function to get the product
def test(val):
    prod = 1 
    for ele in val:
        prod *= ele
    return (prod == 24)
      
# initializing list
test_list = [4, 1, 3, 2, 6, 12]
  
# initializing product
product = 24
  
# printing original list
print("The original list : " + str(test_list))
  
# using itertools.combination()
# 3 element product 
res = list(filter(test, list(combinations(test_list, 3))))
  
# print result
print("The 3 product element list is : " + str(res))
Producción :

The original list : [4, 1, 3, 2, 6, 12]
The 3 product element list is : [(4, 1, 6), (4, 3, 2), (1, 2, 12)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *