Python Basic — 1: Упражнение 11 с решением
Напишите программу Python, чтобы проверить, что сумма трех элементов (каждый из массива) из трех массивов равна целевому значению . Распечатайте все эти трехэлементные комбинации.
Примеры данных:
/*
X = [10, 20, 20, 20]
Y = [10, 20, 30, 40]
Z = [10, 30, 40, 20]
target = 70
*/
Пример решения :
Код Python:
import itertoolsfrom functools import partialX = [10, 20, 20, 20] Y = [10, 20, 30, 40] Z = [10, 30, 40, 20] T = 70def 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 () для s в суммах: if s [0] == True и s [1] не в результате: 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: