Python: проверьте, что сумма трех элементов из трех массивов равна целевому значению
Python Basic - 1: Упражнение 11 с решением
Напишите программу на Python, чтобы проверить, что сумма трех элементов (каждый из массива) из трех массивов равна целевому значению. Распечатайте все эти комбинации из трех элементов.
Пример данных:
/ *
Х = [10, 20, 20, 20]
Y = [10, 20, 30, 40]
Z = [10, 30, 40, 20]
цель = 70
* /
Пример решения :
Код Python:
import itertools
from functools import partial
X = [10, 20, 20, 20]
Y = [10, 20, 30, 40]
Z = [10, 30, 40, 20]
T = 70
def check_sum_array(N, *nums):
if sum(x for x in nums) == N:
return (True, nums)
else:
return (False, nums)
pro = itertools.product(X,Y,Z)
func = partial(check_sum_array, T)
sums = list(itertools.starmap(func, pro))
result = set()
for s in sums:
if s[0] == True and s[1] not in result:
result.add(s[1])
print(result)
Пример вывода:
{(10, 20, 40)} {(10, 20, 40), (10, 30, 30)} {(10, 20, 40), (10, 30, 30), (10, 40, 20)} {(10, 20, 40), (10, 30, 30), (20, 10, 40), (10, 40, 20)} {(10, 20, 40), (20, 20, 30), (10, 30, 30), (20, 10, 40), (10, 40, 20)} {(10, 20, 40), (10, 40, 20), (20, 10, 40), (10, 30, 30), (20, 20, 30), (20, 30, 20)} {(10, 20, 40), (10, 40, 20), (20, 10, 40), (20, 40, 10), (10, 30, 30), (20, 20, 30), ( 20, 30, 20)}
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для отображения некоторой информации об ОС, в которой работает скрипт.
Далее: Напишите программу на Python для создания всех возможных перестановок из заданной коллекции различных чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования