Python: Print a given N by M matrix of numbers line by line in forward > backwards > forward >... order
Matrix Forward-Backward Printing
Write a Python program to print a given N by M matrix of numbers line by line in forward > backwards > forward >... order.
Input matrix:
[[1, 2, 3, 4],
[5, 6, 7, 8],
[0, 6, 2, 8],
[2, 3, 0, 2]]
Output:
1
2
3
4
8
7
6
5
0
6
2
8
2
0
3
2
Sample Solution:
Python Code:
# Define a function to print a matrix in a zigzag pattern
def print_matrix(nums):
# Initialize a flag to determine the printing direction
flag = True
# Iterate through each line in the matrix
for line in nums:
# Check the flag to determine the printing direction
if flag == True:
# If flag is True, print the elements from left to right
i = 0
while i < len(line):
print(line[i])
i += 1
# Update the flag for the next line
flag = False
else:
# If flag is False, print the elements from right to left
i = -1
while i > -1 * len(line) - 1:
print(line[i])
i = i - 1
# Update the flag for the next line
flag = True
# Test the function with a matrix and print the elements in a zigzag pattern
print_matrix([[1, 2, 3, 4],
[5, 6, 7, 8],
[0, 6, 2, 8],
[2, 3, 0, 2]])
Sample Output:
1 2 3 4 8 7 6 5 0 6 2 8 2 0 3 2
Explanation:
Here is a breakdown of the above Python code:
- The function "print_matrix()" prints the elements of a matrix in a zigzag pattern.
- It initializes a flag ('flag') to determine the printing direction.
- It iterates through each line in the matrix ('nums').
- Depending on the flag, it either prints the elements from left to right or from right to left.
- After printing a line, it updates the flag for the next line.
- The function is tested with a sample matrix, and the elements are printed in a zigzag pattern.
Flowchart:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to find the maximum profit in one transaction.
Next: Write a Python program to compute the largest product of three integers from a given list of integers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics