MutantMahesh's Blog

Seeking to know.

Dec 12, 2021 - 2 minute read - Python Star Patterns Algorithm

Print the different triangle star patterns in python

Print the different triangle star patterns in python:

Pattern 1: Print the following triangle star pattern

  1. Take an integer input from user = n
  2. Print the triangle stars starting from one star * up to the n lines of stars, with each line the number of stars will increase
  *
  **
  ***
  ****
  *****

Solution:


  n = int(input("Enter a number: "))
  for i in range(n):
      print('*' * (i + 1))

Pattern 2: Print the following triangle star pattern

  1. Take an integer input from user = n
  2. Print the stars starting from one star * up to the n lines of stars, with each line the number of stars will increase, but the star pattern will start from end of the line
      *
     **
    ***
   ****
  *****

Solution:

  n = int(input("Enter a number: "))
  # Create one filler list with white spaces with n elements
  filler = [' '] * n
  for index in range(n):
    filler[-(index + 1)] = '*'
    for i in range(n):
        print(filler[i], end = '')
    print('')

Pattern 3: Print the following triangle star pattern

  1. Take an integer input from user = n
  2. Print the stars in triangle shap, the starting point of stars will be from middle of the line
    *
   ***
  *****
 *******
  n = int(input("Enter a number: "))
  # Convert the number to Odd if even number is provided.
  if (n % 2 == 0):
      n = n + 1
  # Create one filler list with white spaces with n elements
  filler = [' '] * n
  middle = ((n // 2) + 1)
  filler[-middle] = '*'
  for i in range(middle - 1):
      print(''.join(filler))
      filler[-middle - (i+1)] = '*'
      filler[-middle + (i+1)] = '*'
  print(''.join(filler), end = "")

Pattern 4: Print the following triangle star pattern

    *
   ***
  *****
 *******
  *****
   ***
    *
  1. Take an integer input from user = n
  2. Print the stars in diamond shap
  n = int(input("Enter a number: "))
  # Convert it to odd number, if even number is given
  if (n % 2 == 0):
      n += 1
  # Create one filler list with white spaces with n elements
  filler = [' '] * n
  middle = (n // 2) + 1
  filler[-middle] = '*'
  for i in range(middle - 1):
      print(''.join(filler))
      filler[-middle - (i+1)] = '*'
      filler[-middle + (i+1)] = '*'
  for i in reversed(range(middle)):
      print(''.join(filler))
      filler[-middle - i] = ' '
      filler[-middle + i] = ' '