Amazing-Python-Scripts icon indicating copy to clipboard operation
Amazing-Python-Scripts copied to clipboard

Added Pyramid of Stars Python Script

Open Saurabh6266 opened this issue 2 months ago โ€ข 1 comments

This pull request introduces a new Python script named pyramid_of_stars.py that prints a beautiful pyramid pattern made of stars (*) based on user input.

The script is simple, interactive, and designed to demonstrate the fundamentals of loops, string formatting, and user input handling in Python. It is a perfect beginner-friendly contribution for learning pattern generation and console output formatting.

๐Ÿš€ Features

  • Prompts the user to enter the number of rows.
  • Prints a centered pyramid pattern using nested for loops.
  • Automatically adjusts spacing to maintain symmetry.
  • Clean, well-commented, and formatted for readability.
  • Requires no external dependencies โ€” runs on standard Python 3.

๐Ÿ’ป Code Overview The core logic uses:

  • input() to capture user input.
  • A for loop to iterate through each row.
  • String multiplication and alignment for formatting each line.

๐Ÿง  Concepts Demonstrated

  • Nested loops
  • String concatenation and alignment
  • Basic pattern printing logic
  • User interaction through console I/O

๐Ÿงพ Example Output Enter number of rows: 5 *





Thank you so much!

Summary by Sourcery

Introduce a new Python script to interactively generate a centered pyramid of stars based on user-specified rows

New Features:

  • Prompt for and validate positive integer input
  • Render a centered star pyramid with adjustable rows using nested loops and string formatting

Saurabh6266 avatar Oct 28 '25 11:10 Saurabh6266

Reviewer's Guide

Adds a new pyramid_of_stars.py script that interactively builds and prints a centered star pyramid using modular functions for input validation and pattern generation.

Class diagram for pyramid_of_stars.py functions

classDiagram
    class get_positive_int {
        +int get_positive_int(prompt: str)
        "Prompt user for positive integer input"
    }
    class draw_pyramid {
        +void draw_pyramid(rows: int)
        "Print centered pyramid of stars"
    }
    class main {
        +void main()
        "Entry point: gets input and draws pyramid"
    }
    main --> get_positive_int
    main --> draw_pyramid

File-Level Changes

Change Details Files
Added get_positive_int for robust user input validation
  • Implemented loop to prompt until a positive integer is provided
  • Handled non-integer input with ValueError exception
  • Displayed user-friendly error messages for invalid entries
pyramid_of_stars.py
Implemented draw_pyramid to generate centered star pattern
  • Iterated over row indices to calculate leading spaces
  • Used string multiplication for spaces and stars
  • Applied rstrip to remove trailing spaces
pyramid_of_stars.py
Structured script entrypoint with main function
  • Created main() to orchestrate input and pyramid drawing
  • Added if name == "main" guard for script execution
pyramid_of_stars.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Oct 28 '25 11:10 sourcery-ai[bot]