Python Exercise: N x N square consisting only of the integer N
NxN Square of Integer
Write a Python program that takes a positive integer and creates an N x N square filled with the integer N. Display the N x N square.
Sample Data:
(2) -> [[2, 2], [2, 2]]
(5) -> [[5, 5, 5, 5, 5], [5, 5, 5, 5, 5], [5, 5, 5, 5, 5], [5, 5, 5, 5, 5], [5, 5, 5, 5, 5]]
(-6) -> []
Sample Solution-1:
Python Code:
# Function to create a 2D list filled with the value N.
def test(N):
# Initialize an empty list to store the rows.
result = []
# Iterate N times to create N rows.
for i in range(N):
# Append a row with N elements, each having the value N.
result.append([N] * N)
# Return the resulting 2D list.
return result
# Take user input for the value of N.
N = int(input("Input an integer: "))
# Call the test function with the user-input value of N and print the result.
print(test(N))
Sample Output:
Input an integer : 4 [[4, 4, 4, 4], [4, 4, 4, 4], [4, 4, 4, 4], [4, 4, 4, 4]] Input an integer : -4 []
Explanation:
Here is a breakdown of the above Python code:
- Function definition:
- def test(N):: Defines a function named "test()" that takes an integer 'N' as input.
- Initializing an empty list:
- result = []: Initializes an empty list named 'result' to store the rows of the 2D list.
- Loop to create rows:
- for i in range(N):: Iterates 'N' times to create 'N' rows.
- Appending rows:
- result.append([N] * N): Appends a row to the 'result' list. Each row is a list with N elements, and each element has the value 'N'.
- Return result:
- return result: Returns the resulting 2D list.
- User input:
- N = int(input("Input an integer: ")): Takes user input for the value of 'N'.
- Function Call and Print:
- print(test(N)): Calls the "test()" function with the user-input value of 'N' and prints the resulting 2D list.
Flowchart:
Sample Solution-2:
Python Code:
# Function to create a 2D list filled with the value N.
def test(N):
# Create a 2D list with N rows, where each row is a list with N elements, each having the value N.
result = [[N] * N] * N
# Return the resulting 2D list.
return result
# Take user input for the value of N.
N = int(input("Input an integer: "))
# Call the test function with the user-input value of N and print the result.
print(test(N))
Sample Output:
Input an integer : 4 [[4, 4, 4, 4], [4, 4, 4, 4], [4, 4, 4, 4], [4, 4, 4, 4]]
Explanation:
Here is a breakdown of the above Python code:
- Function definition:
- def test(N):: Defines a function named "test()" that takes an integer 'N' as input.
- Creating a 2D List:
- result = [[N] N] N: Creates a 2D list with 'N' rows. Each row is a list with 'N' elements, and each element has the value 'N'.
- Note: This method of creating a 2D list using [...]*N can have unexpected behavior due to the way lists are referenced in Python. It creates references to the same inner list, leading to issues if you modify one row.
- Return result:
- return result: Returns the resulting 2D list.
- User input:
- N = int(input("Input an integer: ")): Takes user input for the value of 'N'.
- Function call and print:
- print(test(N)): Calls the "test()" function with the user-input value of 'N' and prints the resulting 2D list.
Flowchart:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Check the numbers that are higher than the previous
Next: Iterated Cube Root.
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