Part of the series

Several example codes

~2 min read • Updated Oct 6, 2025

Program Overview

This Python program reads an integer n between 1 and 80 and prints a square pattern of size n × n using asterisks (*).
The output highlights four specific parts of the square:
- The first column
- The last row
- The main diagonal (from top-left to bottom-right)
- All elements below the main diagonal


Python Code:


# Read n from user
n = int(input("Enter a number between 1 and 80: "))

# Validate input
if 1 <= n <= 80:
    for i in range(n):
        row = ''
        for j in range(n):
            if i == n - 1 or j == 0 or i == j or i > j:
                row += '* '
            else:
                row += '  '
        print(row)
else:
    print("The number must be between 1 and 80.")

Sample Output for n = 5:


*               
* *             
* * *           
* * * *         
* * * * *       

Step-by-Step Explanation:

- The user inputs a number n
- The program checks that n is between 1 and 80
- A nested loop prints each row and column
- A star is printed if the position is on:
— The last row (i == n - 1)
— The first column (j == 0)
— The main diagonal (i == j)
— Below the main diagonal (i > j)
- Otherwise, spaces are printed to maintain alignment


Written & researched by Dr. Shahin Siami