Hello there coders, today we are going to solve List Comprehensions in Python Hacker Rank Solution.

Problem
Let’s learn about list comprehensions! You are given three integers x, y and z representing the dimensions of a cuboid along with an integer n. Print a list of all possible coordinates given by (i, j, k) on a 3D grid where the sum of i + j + k is not equal to n. Here, 0 <= i <= x; 0 <= j <= y; 0 <= k <= z. Please use list comprehensions rather than multiple loops, as a learning exercise.
Example
x = 1
y = 1
z = 2
n = 3
All permutations of [i, j, k] are:
[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2]].
Print an array of the elements that do not sum to 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]]
Input Format
Four integers x, y, z and n, each on a separate line.
Constraints
Print the list in lexicographic increasing order.
Sample Input 0
1
1
1
2
Sample Output 0
[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]]
Explanation 0
Each variable x, y and z will have values of 0 or 1. All permutations of lists in the form [i, j, k] = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0]].
Remove all arrays that sum to n = 2 to leave only the valid permutations.
Sample Input 1
2
2
2
2
Sample Output 1
[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 2], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 2], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2]]
Solution – List Comprehensions in Python – Hacker Rank Solution
if __name__ == '__main__': x = int(input()) y = int(input()) z = int(input()) n = int(input()) output = []; abc = []; for X in range(x+1): for Y in range(y+1): for Z in range(z+1): if X+Y+Z != n: abc = [X,Y,Z]; output.append(abc); print(output);
Disclaimer: The above Problem (List Comprehensions) is generated by Hacker Rank but the Solution is provided by CodingBroz. This tutorial is only for Educational and Learning purposes.
output = [[X,Y,Z] for X in range(x+1) for Y in range(y+1) for Z in range(z+1) if X+Y+Z != n]
print (output)
print([[i,j,k]for i in range(x+1) for j in range(y+1) for k in range(z+1) if ((i+j+k) !=n)])
please expalin the code
when I type this program it shows some error.
Traceback (most recent call last):
File “Solution.py”, line 3, in
ValueError: invalid literal for int() with base 10: ‘insert 0 5’
How to clear these errors?
Are you sure you copied/typed the top line?
Can anyone help me to do a flowgorithm or flowchart of this?