# 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.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics