Python程式找出i+j+k不等於n的三元組列表
假設我們有三個數字i、j和k,以及另一個數字n。我們將必須找到所有三元組(i, j, k)的列表,其中i+j+k不等於n。我們將必須使用列表推導策略來解決這個問題。
因此,如果輸入類似於i = 1,j = 1,z = 2,n = 3,則輸出將為[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]
為了解決這個問題,我們將遵循以下步驟:
arr = 一個三元組[x, y, z]陣列,對於所有x的範圍從0到i,對於所有y的範圍從0到j,以及對於所有z的範圍從0到k,當x+y+z不等於n時。
示例
讓我們看看下面的實現,以便更好地理解:
def solve(i, j, k, n): arr = [[x, y, z] for x in range(i+1) for y in range(j+1) for z in range(k+1) if x+y+z != n] return arr i = 1 j = 1 k = 2 n = 3 print(solve(i, j, k, n))
輸入
1, 1, 2, 3
輸出
[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP