Python: Adds up columns and rows of given table as shown in the specified figure
Python Basic - 1: Exercise-63 with Solution
Your task is to develop a small part of spreadsheet software.
Write a Python program that adds up the columns and rows of the given table as shown in the specified figure:
Pictorial Presentation:
n (the size of row and column of the given table)
1st row of the table
2nd row of the table
:
:
n th row of the table
The input ends with a line consisting of a single 0.
Output:
For each dataset, print the table with sum of rows and columns.
Sample Solution:
Python Code:
# Continuous loop to execute the program until the user chooses to exit (input 0)
while True:
# Print statement to instruct the user to input the number of rows/columns (0 to exit)
print("Input number of rows/columns (0 to exit)")
# Read the input for the number of rows/columns
n = int(input())
# Check if the user wants to exit the program
if n == 0:
break
# Print statement to instruct the user to input cell values
print("Input cell value:")
# Initialize an empty list to store the matrix
x = []
# Loop to input the matrix values
for i in range(n):
x.append([int(num) for num in input().split()])
# Loop to calculate and append the row sums to each row
for i in range(n):
sum = 0
for j in range(n):
sum += x[i][j]
x[i].append(sum)
# Append an empty list to represent the additional row for column sums
x.append([])
# Loop to calculate and append the column sums to the additional row
for i in range(n + 1):
sum = 0
for j in range(n):
sum += x[j][i]
x[n].append(sum)
# Print statement to display the result
print("Result:")
# Loop to print the matrix with row and column sums
for i in range(n + 1):
for j in range(n + 1):
print('{0:>5}'.format(x[i][j]), end="")
print()
Sample Output:
Input number of rows/columns (0 to exit) 4 Input cell value: 25 69 51 26 68 35 29 54 54 57 45 63 61 68 47 59 Result: 25 69 51 26 171 68 35 29 54 186 54 57 45 63 219 61 68 47 59 235 208 229 172 202 811 Input number of rows/columns (0 to exit)
Explanation:
Here is a breakdown of the above Python code:
- Continuous loop to execute the program until the user chooses to exit (input 0).
- Print a statement to instruct the user to input the number of rows/columns (0 to exit).
- Read the input for the number of rows/columns.
- Check if the user wants to exit the program (input 0).
- Print a statement to instruct the user to input cell values.
- Initialize an empty list to store the matrix.
- Loop to input the matrix values.
- Loop to calculate and append the row sums to each row.
- Append an empty list to represent the additional row for column sums.
- Loop to calculate and append the column sums to the additional row.
- Print a statement to display the result.
- Loop to print the matrix with row and column sums.
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 number of combinations that satisfy p + q + r + s = n where n is a given number <= 4000 and p, q, r, s in the range of 0 to 1000
Next: Given a list of numbers and a number k, write a Python program to check whether the sum of any two numbers from the list is equal to k or not.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/basic/python-basic-1-exercise-63.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics