w3resource

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:

Python: Adds up columns and rows of given table as shown in the specified figure

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:

Flowchart: Python - Adds up columns and rows of given table as shown in the specified figure

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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

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://198.211.115.131/python-exercises/basic/python-basic-1-exercise-63.php