<!-- ## **Project Description**
![image](banner.png) -->
## **pypatterns-575: Unlock a world of intricate pattern creation in Python** <br>
[![PyPI version](https://badge.fury.io/py/pypatterns-575.svg)](https://badge.fury.io/py/pypatterns-575)
[![PyPI](https://img.shields.io/pypi/v/pypatterns-575)](https://pypi.org/project/pypatterns-575/)
[![PyPI Downloads](https://img.shields.io/pypi/dm/pypatterns-575.svg)](https://pypi.python.org/pypi/pypatterns-575/)
[![Downloads](https://static.pepy.tech/badge/pypatterns-575)](https://pepy.tech/project/pypatterns-575)
[![PyPI - License](https://img.shields.io/pypi/l/pypatterns-575)](https://pypi.org/project/pypatterns-575/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pypatterns-575)](https://pypi.org/project/pypatterns-575/)
[![PyPI - Status](https://img.shields.io/pypi/status/pypatterns-575)](https://pypi.org/project/pypatterns-575/)
![GitHub](https://img.shields.io/github/license/Saqibs575/pypatterns-575)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/Saqibs575/pypatterns-575?label=Pull%20Requests)](https://github.com/Saqibs575/pypatterns-575/pulls)
[![GitHub issues](https://img.shields.io/github/issues/Saqibs575/pypatterns-575?label=GitHub%20Issues)](https://github.com/Saqibs575/pypatterns-575/issues)
[![GitHub closed issues](https://img.shields.io/github/issues-closed/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/issues?q=is%3Aissue+is%3Aclosed)
[![GitHub last commit](https://img.shields.io/github/last-commit/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/commits/main)
[![GitHub contributors](https://img.shields.io/github/contributors/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/graphs/contributors)
[![GitHub code size](https://img.shields.io/github/languages/code-size/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575)
[![GitHub stars](https://img.shields.io/github/stars/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/network)
[![GitHub top language](https://img.shields.io/github/languages/top/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575)
-----------------------------
-----------------------------
## **What is it ?**
The "`pypatterns-575`" package stands as a robust and feature-rich Python library meticulously crafted to streamline and expedite the process of generating and displaying a diverse array of patterns. By leveraging the power of simple characters like asterisks ("*"), numbers, and alphabets, this package brings the art of pattern creation to your fingertips. Its primary goal is to provide developers, students, and enthusiasts with a seamless and efficient way to conjure intricate patterns that range from classic pyramids to elegantly crafted hollow pyramids, triangles of varying orientations, intricate hollow triangles, captivating rhombuses, dazzling diamonds, and much more.
Rooted in the idea of empowerment, the "`pypatterns-575`" package equips individuals with the tools they need to effortlessly embark on the creative journey of pattern design. With a focus on accessibility and user-friendliness, the package offers an intuitive interface that makes pattern generation and printing a delightful experience. The package's design philosophy centers around the belief that even those new to programming or pattern creation can dive in with confidence.
---------------------------
---------------------------
## **Table of Contents**
- [Project Architecture](#architecture)
- [Features](#features)
- [Installation](#installation)
- [Window Users](#windows)
- [macOS Users](#macOS)
- [Linux Users](#linux)
- [Usage](#usage)
+ [Name Patterns](#name-patterns)
+ [Star Patterns](#star-patterns)
* [Pyramid](#pyramid)
* [Triangle](#triangle)
* [Diamond](#diamond)
+ [Number Patterns](#number-patterns)
* [Pascal's Triangle](#pascal)
* [Triangle1](#triangle1)
* [Triangle2](#triangle2)
* [Pyramid1](#pyramid1)
+ [Alphabet Patterns](#alphabet-patterns)
* [Triangle](#alpha-triangle)
* [Pyramid1](#alpha-pyramid1)
* [Pyramid2](#alpha-pyramid2)
+ [Pattern Code](#pattern-code)
- [Contributing](#contributing)
- [License](#license)
------------------------------
------------------------------
## **Project Architecture** <a name = 'architecture'></a>
```
WORKSPACE
|
|--> pypatterns
| |
| |--> alphabet_patterns
| | |
| | |--> __init__.py
| |
| |--> get_pattern_code
| | |
| | |--> __init__.py
| |
| |--> name_patterns
| | |
| | |--> __init__.py
| | |
| | |--> name.py
| |
| |--> number_patterns
| | |
| | |--> __init__.py
| |
| |--> star_patterns
| | |
| | |--> __init__.py
| |
| |--> __init__.py
|
|
|--> examples.ipynb
|
|--> .gitignore
|
|--> LICENSE
|
|--> MANIFEST.in
|
|--> banner.png
|
|--> README.md
|
|--> requirements.txt
|
|--> setup.py
```
---------------------------
---------------------------
# **Features**
## **Diverse Patterns:**
`pypatterns-575` offers an array of pattern types, ranging from symmetric pyramids to hollow triangles, rhombuses, diamonds, and more. Each pattern type is implemented as a separate function, ensuring that users can easily choose and generate the specific pattern they need.
---------------------------
## **Customization:**
The package provides a range of customizable parameters for each pattern-generating function. Users can adjust parameters such as the number of rows, symbols used for the pattern, and even the starting character for alphabet patterns. This customization feature allows users to tailor patterns to suit specific project requirements or educational purposes.
While the package excels in creating patterns using asterisks ("*"), it also supports numbers and alphabets. This flexibility allows you to generate patterns that incorporate different symbols according to your needs.
---------------------------
## **Ease of Use:**
The package includes functions with intuitive names and clear parameters, making it suitable for developers of all skill levels, including beginners.
---------------------------
## **Simplified Pattern Generation**
The primary goal of `pypatterns-575` is to streamline the process of generating intricate patterns. By providing a collection of ready-to-use functions, the package eliminates the need to manually write code for pattern creation. This is particularly beneficial when creating patterns that involve repetitive logic, as the package handles the complexity while allowing users to focus on the desired pattern itself.
---------------------------
## **Clear and Comprehensive Parameters**
The functions provided by `pypatterns-575` are designed with clear and well-documented parameters. These parameters allow users to customize various aspects of the generated patterns, such as the number of rows, symbols used, and alignment. By offering parameter descriptions and default values, the package minimizes confusion and encourages experimentation.
---------------------------
## **Educational Tool**
With its ability to visualize programming concepts in a creative manner, `pypatterns-575` serves as an effective educational tool. Educators can leverage the package to visually demonstrate how loops, conditions, and structured programming constructs influence the output of patterns. This hands-on approach can enhance understanding and engagement among students learning programming fundamentals.
---------------------------
## **Streamlined Logic and Repetition**
Under the hood, `pypatterns-575` handles the intricate logic and repetitive code required for pattern generation. This abstraction simplifies the user's role to choosing a pattern, adjusting parameters if necessary, and invoking the corresponding function. Users can rely on the package's optimized and tested logic to produce accurate and visually appealing patterns.
---------------------------
## **Examples and Explainations**
The `pypatterns-575` package includes comprehensive examples that guide users through the process of creating various patterns. These resources demonstrate the usage of each function, showcase different parameter combinations, and provide insights into how patterns change based on user input. This educational content accelerates the learning curve, enabling users to quickly master the pattern generation process.
---------------------------
## **Compatibility with Learning and Exploration**
Due to its user-friendly nature, the package is especially suitable for educational environments. Beginners can grasp programming concepts more easily by observing the direct relationship between pattern output and parameter adjustments. This hands-on experience encourages exploration and experimentation, fostering a deeper understanding of programming fundamentals.
---------------------------
## **Seamless Integration**
Integrating `pypatterns-575` into existing projects is a straightforward process. Users can install the package with a single command using pip, and then effortlessly import the desired pattern functions into their codebase. This seamless integration allows developers to enhance their projects with visually striking patterns without significant coding effort.
---------------------------
## **Source Code Exploration**
To further enhance its educational value, `pypatterns-575` includes a unique get_pattern_code module. This module provides users with the ability to inspect the source code of each pattern-generating function. This feature allows users to delve into the internal workings of the package, promoting a deeper understanding of the pattern generation process.
However, I strongly recommend that you try to write the code on your own. Avoid directly exploring the 'get_pattern_code' module. Attempt to generate the patterns independently. If you encounter difficulties, you can refer to the source code. This practice will not only enhance your problem-solving skills but also boost your logical thinking abilities.
Working through the challenges of generating patterns manually allows you to develop a deeper understanding of the underlying logic. This understanding is invaluable when it comes to tackling more complex programming tasks. Moreover, by engaging in independent problem-solving, you'll gain the confidence to approach coding challenges with creativity and innovation
Learning to identify and rectify errors in your code is a crucial skill in programming. It enables you to develop resilience in the face of challenges and cultivates a growth mindset.
In conclusion, while the `'get_pattern_code'` module might provide a shortcut, the real value lies in the journey of crafting the solutions yourself. So, embrace the process, overcome challenges, and remember that every obstacle you encounter is an opportunity for growth.
---------------------------
---------------------------
# **Installation** <a name = "installation"></a>
To start using `pypatterns-575`, you can easily install it using the popular Python package manager, `pip`:
To get started with creating captivating patterns using the `pypatterns-575` package, follow these steps based on your operating system:
---------------------------
## **Windows Users** <a name = "windows"></a>
**Update `pip` (if needed)**:
Open the Command Prompt as an administrator by searching for "cmd" in the Start menu, right-clicking on "Command Prompt," and selecting "Run as administrator." Then, execute the following command to update pip:
```python
python -m pip install --upgrade pip
```
**Install the Package**: In the same Command Prompt, execute the following command to install the `pypatterns-575` package:
```python
pip install pypatterns-575
```
---------------------------
## **macOS Users** <a name = "macOS"></a>
**Update `pip` (if needed)**: Open the Terminal and execute the following command to update pip:
```python
python3 -m pip install --upgrade pip
```
**Install the Package**: In the same Terminal, execute the following command to install the `pypatterns-575` package:
```python
pip3 install pypatterns-575
```
---------------------------
## **Linux Users** <a name = "linux"></a>
**Update `pip` (if needed)**: Open the Terminal and execute the following command to update pip:
```python
python3 -m pip install --upgrade pip
```
**Install the Package**: In the same Terminal, execute the following command to install the `pypatterns-575` package:
```python
pip3 install pypatterns-575
```
---------------------------
Once the installation is complete, you're ready to explore the world of intricate pattern design! For usage instructions and examples on how to create various patterns using the `pypatterns-575` package, please refer to the [Usage Guide](https://github.com/Saqibs575/pypatterns-575#usage-).
Refer to the documentation and examples provided in the readme.md and documentation files for detailed instructions on using the package to create various patterns.
Feel free to experiment with different pattern options and let your creativity shine. Happy pattern designing!
---------------------------
---------------------------
# **Usage** <a name = "usage"></a>
All types of patterns can be found in pypatterns file of `pypapatterns-575` package. You nedd to import the module every time before you are using it after successful installation;
```python
pip install pypatterns-575
```
---------------------------
---------------------------
# **Name Patterns** <a name = 'name-patterns'></a>
```python
from pypatterns.name_patterns import get_name
```
```python
get_name("SAQIB SHAIKH")
```
```python
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
```
```python
get_name(name="SAQIB", symbol="/")
```
```python
/ / / / / / / / / / / / / / / / /
/ / / / / / / / /
/ / / / / / / /
/ / / / / / / /
/ / / / / / / / / / / / / / / /
/ / / / / / / /
/ / / / / / / / /
/ / / / / / / / /
/ / / / / / / / / / / / / / / / / /
```
# **Star Patterns** <a name = 'star-patterns'></a>
```python
from pypatterns import star_patterns
```
## **Pyramid** <a name = "pyramid"></a>
```python
star_patterns.get_star_pyramid()
```
### Output of the above code is ;
```python
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
star_patterns.get_star_hollow_pyramid()
```
### Output of the above code is ;
```python
*
* *
* *
* *
* * * * * * * * *
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
### You can pass arguments as well ;
```python
star_patterns.get_star_pyramid(n = 10 , inverted = True)
```
### Output of the above code is;
```python
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------
```python
star_patterns.get_star_hollow_pyramid(n = 10 , inverted = True)
```
### Output of the above code is;
```python
* * * * * * * * * * * * * * * * * * *
* *
* *
* *
* *
* *
* *
* *
* *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
---------------------------
---------------------------
## **Triangle** <a name = "triangle"></a>
```python
star_patterns.get_star_triangle()
```
### Output of the above code is ;
```python
*
* *
* * *
* * * *
* * * * *
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
star_patterns.get_star_triangle(n = 6, inverted = True)
```
### Output of the above code is ;
```python
* * * * * *
* * * * *
* * * *
* * *
* *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
star_patterns.get_star_hollow_triangle(n = 7)
```
### Output of the above code is ;
```python
*
* *
* *
* *
* *
* *
* * * * * * *
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
------------------------------------
## **Diamond** <a name = "diamond"></a>
```python
star_patterns.get_star_diamond()
```
### Output of the above code is ;
```python
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
star_patterns.get_star_hollow_diamond(n = 7)
```
### Output of the above code is ;
```python
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
star_patterns.get_star_diamond2()
```
### Output of the above code is ;
```python
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **GET ALL START PATTERNS**
```python
# LET'S PRINT ALL STAR PATTERNS IN ONE STROKE WITH DEFAULT ARGUMENTS
from pypatterns.star_patterns import *
for func in dir(star_patterns) :
if callable(getattr(star_patterns, func)) :
globals()[func]()
```
### Output of the above code is ;
```python
* * * * *
* *
* *
* *
* * * * *
* * * * *
* *
* *
* *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
*
* *
* *
* *
* *
* *
* *
* *
*
*
* *
* *
* *
* * * * * * * * *
*
* *
* *
* *
* * * * *
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
*
* *
* * *
* * * *
* * * * *
*
* *
* * *
* * * *
* * * * *
* *
* *
* *
* *
*
* *
* *
* *
* *
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
---------------------------
```python
# LET'S PRINT ALL STAR PATTERNS IN ONE STROKE WITH INVERTED ARGUMENT
for func in dir(star_patterns) :
if callable(getattr(star_patterns, func)) :
if globals()[f'{func}'].__code__.co_varnames[1] == "inverted" :
globals()[func](inverted = True)
print()
```
### Output of the above code is ;
```python
* * * * *
* *
* *
* *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * * * * * *
* *
* *
* *
*
* * * * *
* *
* *
* *
*
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
* * * * *
* * * *
* * *
* *
*
* * * * *
* * * *
* * *
* *
*
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
---------------------------
---------------------------
# **Number Patterns** <a name = 'number-patterns'></a>
```python
from pypatterns import number_patterns
```
## **Pascal's Triangle** <a name = "pascal"></a>
```python
number_patterns.get_pascal_triangle(n = 10)
```
### Output of the above code is ;
```python
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **Triangle1** <a name = "triangle1"></a>
```python
number_patterns.get_triangle1()
```
### Output of the above code is ;
```python
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **Triangle2** <a name = "triangle2"></a>
```python
number_patterns.get_triangle2(n = 8)
```
### Output of the above code is ;
```python
1
2 3
3 4 5
4 5 6 7
5 6 7 8 9
6 7 8 9 10 11
7 8 9 10 11 12 13
8 9 10 11 12 13 14 15
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **Pyramid1** <a name = "pyramid1"></a>
```python
number_patterns.get_pyramid1(inverted = True)
```
### Output of the above code is ;
```python
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
------------------------------------
# **Alphabet Patterns** <a name = 'alphabet-patterns'></a>
```python
from pypatterns import alphabet_patterns
```
## **Triangle** <a name = "alpha-triangle"></a>
```python
alphabet_patterns.get_alpha_triangle()
```
### Output of the above code is ;
```python
A
B C
D E F
G H I J
K L M N O
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **Pyramid1** <a name = "alpha-pyramid1"></a>
```python
alphabet_patterns.get_alpha_pyramid1(inverted = True)
```
### Output of the above code is ;
```python
A B C D E F G H I
J K L M N O P
Q R S T U
V W X
Y
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
## **Pyramid2** <a name = "alpha-pyramid2"></a>
```python
alphabet_patterns.get_alpha_pyramid2(n = 10)
```
### Output of the above code is ;
```python
A
B C
D E F
G H I J
K L M N O
P Q R S T U
V W X Y Z A B
C D E F G H I J
K L M N O P Q R S
T U V W X Y Z A B C
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
---------------------------
---------------------------
# **Pattern Code** <a name = 'pattern-code'></a>
```python
from pypatterns import get_pattern_code
```
```python
get_pattern_code.get_star_triangle_code()
```
### Output of the above code is ;
```python
def get_star_triangle(n = 5, inverted = False) :
if inverted == False :
for i in range(1 , n + 1) :
print("* " * i)
return
for i in range(n , 0 , -1) :
print("* " * i)
get_star_triangle()
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
get_pattern_code.get_pyramid1_code()
```
### Output of the above code is ;
```python
def get_pyramid1(n = 5 , inverted = False) :
if n <= 0 or type(n) != int :
raise ValueError("Parameter n should be positive integer")
if inverted == False :
for i in range(1 , n+1) :
print(3*" " * (n - i) , end = "")
for j in range(1 , i + 1) :
print(str(j).ljust(3) , end = "")
for k in range(i-1 , 0 , -1) :
print(str(k).ljust(3) , end = "")
print()
return
for i in range(n , 0 , -1) :
print(3*" " * (n - i) , end = "")
for j in range(1 , i + 1) :
print(str(j).ljust(3) , end = "")
for k in range(i-1 , 0 , -1) :
print(str(k).ljust(3) , end = "")
print()
get_pyramid1()
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
```python
get_pattern_code.get_alpha_triangle_code()
```
### Output of the above code is ;
```python
def get_alpha_triangle(n = 5 , inverted = False) :
asci = 65
if inverted == False :
for i in range(1 , n + 1) :
for j in range(i) :
print(chr(asci) , end = " ")
asci += 1
if asci > 90 :
asci = 65
print()
return
for i in range(n , 0 , -1) :
for j in range(i) :
print(chr(asci) , end = " ")
asci += 1
if asci > 90 :
asci = 65
print()
get_alpha_triangle()
```
[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)
------------------------------------
------------------------------------
# **Conclusion**
The `pypatterns-575` package simplifies the process of generating and printing patterns in Python. With its versatility, user-friendly interface, and potential educational applications, it's a valuable tool for developers and educators alike. Whether you're visualizing programming concepts or simply exploring your creative side, `pypatterns-575` empowers you to effortlessly create captivating patterns. The inclusion of the pattern_code module further enhances the package's educational value by allowing users to delve into the implementation details of each pattern-generating function.
---------------------------
---------------------------
# **Contributing** <a name = 'contributing'></a>
Contributions to the pypatterns-575 package are welcome! Whether you've found a bug, have suggestions for improvements, or want to add new features, your contributions can make this package even better.
## **How to Contribute**
1. **Open an Issue:** If you come across a bug or have an idea for an improvement, start by opening an issue on the [GitHub repository](https://github.com/Saqibs575/pypatterns-575/issues). Provide as much detail as possible about the issue or suggestion.
2. **Fork the Repository:** If you plan to work on a fix or enhancement, fork the repository by clicking the "Fork" button on the top right of the repository page.
3. **Clone the Fork:** Clone your forked repository to your local machine using the following command, replacing `<your-username>` with your GitHub username:
```sh
git clone https://github.com/<your-username>/pypatterns-575.git
```
## **Create a Branch**:
Before making changes, create a new branch to work on. This helps keep your changes isolated from the main codebase. Use a descriptive branch name related to the feature or bug you're addressing:
```sh
git checkout -b feature/my-new-feature
```
## **Make Changes**:
Write your code and make the necessary changes. Follow any coding style guidelines and keep the changes focused on a single issue or feature.
## **Test Your Changes**:
Before submitting a pull request, make sure your changes work as intended and do not introduce new issues. Run tests if available and perform manual testing if needed.
## **Commit and Push**:
Commit your changes and push them to your forked repository:
```python
git commit -m "Add a descriptive commit message"
git push origin feature/my-new-feature
```
## **Submit a Pull Request**:
Go to the [original repository](https://github.com/Saqibs575/pypatterns-575) and click the "New Pull Request" button. Select your branch and provide a detailed description of your changes. A team member will review your pull request and provide feedback.
-------------------------------------
-------------------------------------
# **License** <a name = 'license'></a>
**Copyright © 2023 Saqib Shaikh**
This software package, named "Your Package Name," is distributed under the terms of the GNU General Public License version 3.0 (GPLv3). This license grants you the freedom to use, modify, and distribute this software according to the conditions set forth in the license text.
### License Summary
The GNU General Public License v3.0 (GPLv3) is an open-source license that ensures software remains free and open for all users. It provides the following key permissions and restrictions:
- **Permissions:** You are free to use, share, and modify the software.
- **Copyleft:** Any modified versions of the software must also be distributed under the GPLv3 license terms.
- **Distribution:** If you distribute the software, you must include the source code or a written offer to provide it.
- **Patents:** The license explicitly deals with patents, ensuring users can use the software without concerns about potential patent claims.
### License Text
For the full text of the GNU General Public License v3.0 (GPLv3), please refer to the [LICENSE](https://github.com/Saqibs575/pypatterns-575/blob/main/LICENSE) file located in the repository. This license outlines the complete terms and conditions that apply to this software.
It's important to carefully read and understand the license terms before using or distributing this software.
For any questions or inquiries regarding the license, please contact Saqib Shaikh at saquibs575@gmail.com.
Raw data
{
"_id": null,
"home_page": "https://github.com/Saqibs575/pypatterns-575",
"name": "pypatterns-575",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "patterns,patterns in python,star patterns,pypatterns,pypatterns-575",
"author": "Saqib Shaikh",
"author_email": "saquibs575@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/97/6b/e3e5f95eaa474518e8b6779ea5a725b2d0b88a6e8899ee430ecc9b801e28/pypatterns_575-2.1.2.tar.gz",
"platform": "win32",
"description": "<!-- ## **Project Description**\n\n![image](banner.png) -->\n\n\n## **pypatterns-575: Unlock a world of intricate pattern creation in Python** <br>\n\n[![PyPI version](https://badge.fury.io/py/pypatterns-575.svg)](https://badge.fury.io/py/pypatterns-575) \n[![PyPI](https://img.shields.io/pypi/v/pypatterns-575)](https://pypi.org/project/pypatterns-575/)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/pypatterns-575.svg)](https://pypi.python.org/pypi/pypatterns-575/)\n[![Downloads](https://static.pepy.tech/badge/pypatterns-575)](https://pepy.tech/project/pypatterns-575)\n[![PyPI - License](https://img.shields.io/pypi/l/pypatterns-575)](https://pypi.org/project/pypatterns-575/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pypatterns-575)](https://pypi.org/project/pypatterns-575/)\n[![PyPI - Status](https://img.shields.io/pypi/status/pypatterns-575)](https://pypi.org/project/pypatterns-575/)\n\n\n\n![GitHub](https://img.shields.io/github/license/Saqibs575/pypatterns-575)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/Saqibs575/pypatterns-575?label=Pull%20Requests)](https://github.com/Saqibs575/pypatterns-575/pulls)\n[![GitHub issues](https://img.shields.io/github/issues/Saqibs575/pypatterns-575?label=GitHub%20Issues)](https://github.com/Saqibs575/pypatterns-575/issues)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/issues?q=is%3Aissue+is%3Aclosed)\n[![GitHub last commit](https://img.shields.io/github/last-commit/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/commits/main)\n[![GitHub contributors](https://img.shields.io/github/contributors/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/graphs/contributors)\n[![GitHub code size](https://img.shields.io/github/languages/code-size/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575)\n[![GitHub stars](https://img.shields.io/github/stars/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575/network)\n[![GitHub top language](https://img.shields.io/github/languages/top/Saqibs575/pypatterns-575)](https://github.com/Saqibs575/pypatterns-575)\n\n-----------------------------\n-----------------------------\n\n## **What is it ?**\n\nThe \"`pypatterns-575`\" package stands as a robust and feature-rich Python library meticulously crafted to streamline and expedite the process of generating and displaying a diverse array of patterns. By leveraging the power of simple characters like asterisks (\"*\"), numbers, and alphabets, this package brings the art of pattern creation to your fingertips. Its primary goal is to provide developers, students, and enthusiasts with a seamless and efficient way to conjure intricate patterns that range from classic pyramids to elegantly crafted hollow pyramids, triangles of varying orientations, intricate hollow triangles, captivating rhombuses, dazzling diamonds, and much more.\n\nRooted in the idea of empowerment, the \"`pypatterns-575`\" package equips individuals with the tools they need to effortlessly embark on the creative journey of pattern design. With a focus on accessibility and user-friendliness, the package offers an intuitive interface that makes pattern generation and printing a delightful experience. The package's design philosophy centers around the belief that even those new to programming or pattern creation can dive in with confidence.\n\n\n---------------------------\n---------------------------\n\n## **Table of Contents**\n\n- [Project Architecture](#architecture)\n- [Features](#features)\n- [Installation](#installation)\n - [Window Users](#windows)\n - [macOS Users](#macOS)\n - [Linux Users](#linux)\n- [Usage](#usage)\n + [Name Patterns](#name-patterns)\n + [Star Patterns](#star-patterns)\n * [Pyramid](#pyramid)\n * [Triangle](#triangle)\n * [Diamond](#diamond)\n + [Number Patterns](#number-patterns)\n * [Pascal's Triangle](#pascal)\n * [Triangle1](#triangle1)\n * [Triangle2](#triangle2)\n * [Pyramid1](#pyramid1)\n + [Alphabet Patterns](#alphabet-patterns)\n * [Triangle](#alpha-triangle)\n * [Pyramid1](#alpha-pyramid1)\n * [Pyramid2](#alpha-pyramid2)\n + [Pattern Code](#pattern-code)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n------------------------------\n------------------------------\n\n\n## **Project Architecture** <a name = 'architecture'></a>\n\n```\nWORKSPACE\n |\n |--> pypatterns\n | |\n | |--> alphabet_patterns\n | | |\n | | |--> __init__.py\n | |\n | |--> get_pattern_code\n | | |\n | | |--> __init__.py\n | |\n | |--> name_patterns\n | | |\n | | |--> __init__.py\n | | |\n | | |--> name.py\n | |\n | |--> number_patterns\n | | |\n | | |--> __init__.py\n | |\n | |--> star_patterns\n | | |\n | | |--> __init__.py\n | |\n | |--> __init__.py\n | \n |\n |--> examples.ipynb\n |\n |--> .gitignore\n |\n |--> LICENSE\n |\n |--> MANIFEST.in\n |\n |--> banner.png\n |\n |--> README.md\n |\n |--> requirements.txt\n |\n |--> setup.py\n\n```\n\n---------------------------\n---------------------------\n\n# **Features**\n\n## **Diverse Patterns:**\n`pypatterns-575` offers an array of pattern types, ranging from symmetric pyramids to hollow triangles, rhombuses, diamonds, and more. Each pattern type is implemented as a separate function, ensuring that users can easily choose and generate the specific pattern they need.\n\n---------------------------\n## **Customization:** \nThe package provides a range of customizable parameters for each pattern-generating function. Users can adjust parameters such as the number of rows, symbols used for the pattern, and even the starting character for alphabet patterns. This customization feature allows users to tailor patterns to suit specific project requirements or educational purposes.\n\nWhile the package excels in creating patterns using asterisks (\"*\"), it also supports numbers and alphabets. This flexibility allows you to generate patterns that incorporate different symbols according to your needs.\n\n---------------------------\n## **Ease of Use:**\nThe package includes functions with intuitive names and clear parameters, making it suitable for developers of all skill levels, including beginners.\n\n---------------------------\n\n## **Simplified Pattern Generation**\nThe primary goal of `pypatterns-575` is to streamline the process of generating intricate patterns. By providing a collection of ready-to-use functions, the package eliminates the need to manually write code for pattern creation. This is particularly beneficial when creating patterns that involve repetitive logic, as the package handles the complexity while allowing users to focus on the desired pattern itself.\n\n---------------------------\n## **Clear and Comprehensive Parameters**\nThe functions provided by `pypatterns-575` are designed with clear and well-documented parameters. These parameters allow users to customize various aspects of the generated patterns, such as the number of rows, symbols used, and alignment. By offering parameter descriptions and default values, the package minimizes confusion and encourages experimentation.\n\n---------------------------\n## **Educational Tool**\nWith its ability to visualize programming concepts in a creative manner, `pypatterns-575` serves as an effective educational tool. Educators can leverage the package to visually demonstrate how loops, conditions, and structured programming constructs influence the output of patterns. This hands-on approach can enhance understanding and engagement among students learning programming fundamentals.\n\n---------------------------\n## **Streamlined Logic and Repetition**\nUnder the hood, `pypatterns-575` handles the intricate logic and repetitive code required for pattern generation. This abstraction simplifies the user's role to choosing a pattern, adjusting parameters if necessary, and invoking the corresponding function. Users can rely on the package's optimized and tested logic to produce accurate and visually appealing patterns.\n\n---------------------------\n## **Examples and Explainations**\nThe `pypatterns-575` package includes comprehensive examples that guide users through the process of creating various patterns. These resources demonstrate the usage of each function, showcase different parameter combinations, and provide insights into how patterns change based on user input. This educational content accelerates the learning curve, enabling users to quickly master the pattern generation process.\n\n---------------------------\n## **Compatibility with Learning and Exploration**\nDue to its user-friendly nature, the package is especially suitable for educational environments. Beginners can grasp programming concepts more easily by observing the direct relationship between pattern output and parameter adjustments. This hands-on experience encourages exploration and experimentation, fostering a deeper understanding of programming fundamentals.\n\n---------------------------\n## **Seamless Integration**\nIntegrating `pypatterns-575` into existing projects is a straightforward process. Users can install the package with a single command using pip, and then effortlessly import the desired pattern functions into their codebase. This seamless integration allows developers to enhance their projects with visually striking patterns without significant coding effort.\n\n---------------------------\n## **Source Code Exploration**\nTo further enhance its educational value, `pypatterns-575` includes a unique get_pattern_code module. This module provides users with the ability to inspect the source code of each pattern-generating function. This feature allows users to delve into the internal workings of the package, promoting a deeper understanding of the pattern generation process.\n\nHowever, I strongly recommend that you try to write the code on your own. Avoid directly exploring the 'get_pattern_code' module. Attempt to generate the patterns independently. If you encounter difficulties, you can refer to the source code. This practice will not only enhance your problem-solving skills but also boost your logical thinking abilities.\n\nWorking through the challenges of generating patterns manually allows you to develop a deeper understanding of the underlying logic. This understanding is invaluable when it comes to tackling more complex programming tasks. Moreover, by engaging in independent problem-solving, you'll gain the confidence to approach coding challenges with creativity and innovation\n\nLearning to identify and rectify errors in your code is a crucial skill in programming. It enables you to develop resilience in the face of challenges and cultivates a growth mindset.\n\nIn conclusion, while the `'get_pattern_code'` module might provide a shortcut, the real value lies in the journey of crafting the solutions yourself. So, embrace the process, overcome challenges, and remember that every obstacle you encounter is an opportunity for growth.\n\n---------------------------\n---------------------------\n\n# **Installation** <a name = \"installation\"></a>\nTo start using `pypatterns-575`, you can easily install it using the popular Python package manager, `pip`:\n\nTo get started with creating captivating patterns using the `pypatterns-575` package, follow these steps based on your operating system:\n\n---------------------------\n## **Windows Users** <a name = \"windows\"></a>\n**Update `pip` (if needed)**: \nOpen the Command Prompt as an administrator by searching for \"cmd\" in the Start menu, right-clicking on \"Command Prompt,\" and selecting \"Run as administrator.\" Then, execute the following command to update pip:\n\n```python\npython -m pip install --upgrade pip\n```\n\n**Install the Package**: In the same Command Prompt, execute the following command to install the `pypatterns-575` package:\n```python\npip install pypatterns-575\n```\n---------------------------\n\n## **macOS Users** <a name = \"macOS\"></a>\n**Update `pip` (if needed)**: Open the Terminal and execute the following command to update pip:\n\n```python\npython3 -m pip install --upgrade pip\n```\n**Install the Package**: In the same Terminal, execute the following command to install the `pypatterns-575` package:\n\n```python\npip3 install pypatterns-575\n```\n---------------------------\n\n## **Linux Users** <a name = \"linux\"></a>\n**Update `pip` (if needed)**: Open the Terminal and execute the following command to update pip:\n\n```python\npython3 -m pip install --upgrade pip\n```\n**Install the Package**: In the same Terminal, execute the following command to install the `pypatterns-575` package:\n\n```python\npip3 install pypatterns-575\n```\n\n---------------------------\n\nOnce the installation is complete, you're ready to explore the world of intricate pattern design! For usage instructions and examples on how to create various patterns using the `pypatterns-575` package, please refer to the [Usage Guide](https://github.com/Saqibs575/pypatterns-575#usage-).\n\nRefer to the documentation and examples provided in the readme.md and documentation files for detailed instructions on using the package to create various patterns.\n\nFeel free to experiment with different pattern options and let your creativity shine. Happy pattern designing!\n\n\n---------------------------\n---------------------------\n\n\n# **Usage** <a name = \"usage\"></a>\nAll types of patterns can be found in pypatterns file of `pypapatterns-575` package. You nedd to import the module every time before you are using it after successful installation;\n\n```python\npip install pypatterns-575\n```\n\n---------------------------\n---------------------------\n\n\n# **Name Patterns** <a name = 'name-patterns'></a>\n\n```python\nfrom pypatterns.name_patterns import get_name\n```\n\n```python\nget_name(\"SAQIB SHAIKH\")\n```\n\n```python\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * * * \n* * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n```\n```python\nget_name(name=\"SAQIB\", symbol=\"/\")\n```\n\n```python\n / / / / / / / / / / / / / / / / / \n / / / / / / / / / \n/ / / / / / / / \n / / / / / / / / \n / / / / / / / / / / / / / / / / \n / / / / / / / / \n / / / / / / / / / \n / / / / / / / / / \n / / / / / / / / / / / / / / / / / / \n```\n\n# **Star Patterns** <a name = 'star-patterns'></a>\n\n```python\nfrom pypatterns import star_patterns\n```\n\n## **Pyramid** <a name = \"pyramid\"></a>\n\n```python\nstar_patterns.get_star_pyramid()\n```\n### Output of the above code is ;\n\n```python\n * \n * * * \n * * * * * \n * * * * * * * \n * * * * * * * * * \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n\n```python\nstar_patterns.get_star_hollow_pyramid()\n```\n### Output of the above code is ;\n\n```python\n\n * \n * *\n * *\n * *\n* * * * * * * * * \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n\n### You can pass arguments as well ;\n\n```python\nstar_patterns.get_star_pyramid(n = 10 , inverted = True)\n\n```\n\n### Output of the above code is;\n\n```python\n\n * * * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * * * \n * * * * * * * * * * * * * \n * * * * * * * * * * * \n * * * * * * * * * \n * * * * * * * \n * * * * * \n * * * \n * \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------\n\n```python\nstar_patterns.get_star_hollow_pyramid(n = 10 , inverted = True)\n```\n\n### Output of the above code is;\n\n```python\n* * * * * * * * * * * * * * * * * * * \n * *\n * *\n * *\n * *\n * *\n * *\n * *\n * *\n * \n\n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n---------------------------\n---------------------------\n\n## **Triangle** <a name = \"triangle\"></a>\n\n```python\nstar_patterns.get_star_triangle()\n```\n### Output of the above code is ;\n\n```python\n* \n* * \n* * * \n* * * * \n* * * * * \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n```python\nstar_patterns.get_star_triangle(n = 6, inverted = True)\n```\n### Output of the above code is ;\n```python\n* * * * * *\n* * * * * \n* * * * \n* * * \n* * \n* \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n```python\nstar_patterns.get_star_hollow_triangle(n = 7)\n```\n### Output of the above code is ;\n```python\n* \n* *\n* *\n* *\n* *\n* *\n* * * * * * * \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n------------------------------------\n\n\n## **Diamond** <a name = \"diamond\"></a>\n\n```python\nstar_patterns.get_star_diamond()\n```\n### Output of the above code is ;\n\n```python\n * \n * * * \n * * * * * \n * * * * * * * \n* * * * * * * * * \n * * * * * * * \n * * * * * \n * * * \n * \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n```python\nstar_patterns.get_star_hollow_diamond(n = 7)\n```\n### Output of the above code is ;\n```python\n *\n * *\n * *\n * *\n * *\n * *\n * *\n* *\n * *\n * *\n * *\n * *\n * *\n * *\n * \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n```python\nstar_patterns.get_star_diamond2()\n```\n### Output of the above code is ;\n```python\n * \n * * \n * * * \n * * * * \n * * * * * \n * * * * \n * * * \n * * \n * \n```\n\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n## **GET ALL START PATTERNS** \n\n```python\n# LET'S PRINT ALL STAR PATTERNS IN ONE STROKE WITH DEFAULT ARGUMENTS\nfrom pypatterns.star_patterns import *\n\nfor func in dir(star_patterns) :\n if callable(getattr(star_patterns, func)) :\n globals()[func]()\n```\n### Output of the above code is ;\n```python\n\n* * * * * \n* *\n* *\n* *\n* * * * * \n\n * * * * * \n * *\n * *\n * *\n * * * * * \n\n* * * * * \n* * * * * \n* * * * * \n* * * * * \n* * * * * \n\n * * * * * \n * * * * * \n * * * * * \n * * * * * \n * * * * * \n\n * \n * * * \n * * * * * \n * * * * * * * \n* * * * * * * * * \n * * * * * * * \n * * * * * \n * * * \n * \n\n * \n * * \n * * * \n * * * * \n * * * * * \n * * * * \n * * * \n * * \n * \n\n *\n * *\n * *\n * *\n* *\n * *\n * *\n * *\n *\n\n * \n * *\n * *\n * *\n* * * * * * * * * \n\n* \n* *\n* *\n* *\n* * * * * \n\n * \n * * * \n * * * * * \n * * * * * * * \n * * * * * * * * * \n\n * \n * * \n * * * \n * * * * \n * * * * * \n\n* \n* * \n* * * \n* * * * \n* * * * * \n\n* *\n * *\n * *\n * *\n *\n * *\n * *\n * *\n* *\n\n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n---------------------------\n\n```python\n# LET'S PRINT ALL STAR PATTERNS IN ONE STROKE WITH INVERTED ARGUMENT\n\nfor func in dir(star_patterns) :\n if callable(getattr(star_patterns, func)) :\n if globals()[f'{func}'].__code__.co_varnames[1] == \"inverted\" :\n globals()[func](inverted = True)\n print()\n```\n### Output of the above code is ;\n```python\n\n * * * * * \n * *\n * *\n * *\n * * * * * \n\n\n * * * * * \n * * * * * \n * * * * * \n * * * * * \n * * * * * \n\n\n\n\n* * * * * * * * * \n * *\n * *\n * *\n * \n\n* * * * * \n* *\n* *\n* *\n* \n\n * * * * * * * * * \n * * * * * * * \n * * * * * \n * * * \n * \n\n * * * * * \n * * * * \n * * * \n * * \n * \n\n* * * * * \n* * * * \n* * * \n* * \n* \n\n\n\n```\n\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n---------------------------\n---------------------------\n\n\n# **Number Patterns** <a name = 'number-patterns'></a>\n\n```python\nfrom pypatterns import number_patterns\n```\n\n## **Pascal's Triangle** <a name = \"pascal\"></a>\n\n```python\nnumber_patterns.get_pascal_triangle(n = 10)\n```\n### Output of the above code is ;\n\n```python\n 1 \n 1 1 \n 1 2 1 \n 1 3 3 1 \n 1 4 6 4 1 \n 1 5 10 10 5 1 \n 1 6 15 20 15 6 1 \n 1 7 21 35 35 21 7 1 \n 1 8 28 56 70 56 28 8 1 \n1 9 36 84 126 126 84 36 9 1 \n```\n\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n\n## **Triangle1** <a name = \"triangle1\"></a>\n\n```python\nnumber_patterns.get_triangle1()\n```\n### Output of the above code is ;\n\n```python\n1 \n2 3 \n4 5 6 \n7 8 9 10 \n11 12 13 14 15 \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n## **Triangle2** <a name = \"triangle2\"></a>\n\n```python\nnumber_patterns.get_triangle2(n = 8)\n```\n### Output of the above code is ;\n\n```python\n1 \n2 3 \n3 4 5 \n4 5 6 7 \n5 6 7 8 9 \n6 7 8 9 10 11 \n7 8 9 10 11 12 13 \n8 9 10 11 12 13 14 15 \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n## **Pyramid1** <a name = \"pyramid1\"></a>\n\n```python\nnumber_patterns.get_pyramid1(inverted = True)\n```\n### Output of the above code is ;\n\n```python\n1 2 3 4 5 4 3 2 1 \n 1 2 3 4 3 2 1 \n 1 2 3 2 1 \n 1 2 1 \n 1 \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n------------------------------------\n\n# **Alphabet Patterns** <a name = 'alphabet-patterns'></a>\n\n```python\nfrom pypatterns import alphabet_patterns\n```\n\n## **Triangle** <a name = \"alpha-triangle\"></a>\n\n```python\nalphabet_patterns.get_alpha_triangle()\n```\n### Output of the above code is ;\n\n```python\nA \nB C \nD E F \nG H I J \nK L M N O \n```\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n\n## **Pyramid1** <a name = \"alpha-pyramid1\"></a>\n\n```python\nalphabet_patterns.get_alpha_pyramid1(inverted = True)\n```\n### Output of the above code is ;\n\n```python\nA B C D E F G H I \n J K L M N O P \n Q R S T U \n V W X \n Y\n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n\n------------------------------------\n\n\n## **Pyramid2** <a name = \"alpha-pyramid2\"></a>\n\n```python\nalphabet_patterns.get_alpha_pyramid2(n = 10)\n```\n### Output of the above code is ;\n\n```python\n A \n B C \n D E F \n G H I J \n K L M N O \n P Q R S T U \n V W X Y Z A B \n C D E F G H I J \n K L M N O P Q R S \nT U V W X Y Z A B C \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n---------------------------\n---------------------------\n\n\n# **Pattern Code** <a name = 'pattern-code'></a>\n\n```python\nfrom pypatterns import get_pattern_code\n```\n\n```python\nget_pattern_code.get_star_triangle_code()\n```\n### Output of the above code is ;\n\n```python\ndef get_star_triangle(n = 5, inverted = False) :\n if inverted == False :\n for i in range(1 , n + 1) :\n print(\"* \" * i)\n return\n\n for i in range(n , 0 , -1) :\n print(\"* \" * i)\nget_star_triangle() \n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n```python\nget_pattern_code.get_pyramid1_code()\n```\n### Output of the above code is ;\n\n```python\ndef get_pyramid1(n = 5 , inverted = False) :\n if n <= 0 or type(n) != int :\n raise ValueError(\"Parameter n should be positive integer\")\n\n if inverted == False :\n for i in range(1 , n+1) :\n print(3*\" \" * (n - i) , end = \"\")\n for j in range(1 , i + 1) :\n print(str(j).ljust(3) , end = \"\")\n for k in range(i-1 , 0 , -1) :\n print(str(k).ljust(3) , end = \"\")\n print()\n return\n\n for i in range(n , 0 , -1) :\n print(3*\" \" * (n - i) , end = \"\")\n for j in range(1 , i + 1) :\n print(str(j).ljust(3) , end = \"\")\n for k in range(i-1 , 0 , -1) :\n print(str(k).ljust(3) , end = \"\")\n print()\nget_pyramid1()\n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n\n```python\nget_pattern_code.get_alpha_triangle_code()\n```\n### Output of the above code is ;\n\n```python\ndef get_alpha_triangle(n = 5 , inverted = False) :\n asci = 65\n if inverted == False :\n for i in range(1 , n + 1) :\n for j in range(i) :\n print(chr(asci) , end = \" \")\n asci += 1\n if asci > 90 :\n asci = 65\n print()\n return\n\n for i in range(n , 0 , -1) :\n for j in range(i) :\n print(chr(asci) , end = \" \")\n asci += 1\n if asci > 90 :\n asci = 65\n print()\nget_alpha_triangle()\n```\n\n[CLICK HERE FOR CODE'S OUTPUT](https://github.com/Saqibs575/pypatterns-575/blob/main/examples.ipynb)\n\n------------------------------------\n------------------------------------\n\n# **Conclusion**\nThe `pypatterns-575` package simplifies the process of generating and printing patterns in Python. With its versatility, user-friendly interface, and potential educational applications, it's a valuable tool for developers and educators alike. Whether you're visualizing programming concepts or simply exploring your creative side, `pypatterns-575` empowers you to effortlessly create captivating patterns. The inclusion of the pattern_code module further enhances the package's educational value by allowing users to delve into the implementation details of each pattern-generating function.\n\n---------------------------\n---------------------------\n\n\n# **Contributing** <a name = 'contributing'></a>\n\nContributions to the pypatterns-575 package are welcome! Whether you've found a bug, have suggestions for improvements, or want to add new features, your contributions can make this package even better.\n\n## **How to Contribute**\n\n1. **Open an Issue:** If you come across a bug or have an idea for an improvement, start by opening an issue on the [GitHub repository](https://github.com/Saqibs575/pypatterns-575/issues). Provide as much detail as possible about the issue or suggestion.\n\n2. **Fork the Repository:** If you plan to work on a fix or enhancement, fork the repository by clicking the \"Fork\" button on the top right of the repository page.\n\n3. **Clone the Fork:** Clone your forked repository to your local machine using the following command, replacing `<your-username>` with your GitHub username:\n\n```sh\ngit clone https://github.com/<your-username>/pypatterns-575.git\n```\n\n## **Create a Branch**:\nBefore making changes, create a new branch to work on. This helps keep your changes isolated from the main codebase. Use a descriptive branch name related to the feature or bug you're addressing:\n\n```sh\ngit checkout -b feature/my-new-feature\n```\n\n## **Make Changes**: \nWrite your code and make the necessary changes. Follow any coding style guidelines and keep the changes focused on a single issue or feature.\n\n## **Test Your Changes**: \nBefore submitting a pull request, make sure your changes work as intended and do not introduce new issues. Run tests if available and perform manual testing if needed.\n\n## **Commit and Push**: \nCommit your changes and push them to your forked repository:\n\n```python\ngit commit -m \"Add a descriptive commit message\"\ngit push origin feature/my-new-feature\n```\n\n## **Submit a Pull Request**: \nGo to the [original repository](https://github.com/Saqibs575/pypatterns-575) and click the \"New Pull Request\" button. Select your branch and provide a detailed description of your changes. A team member will review your pull request and provide feedback.\n\n-------------------------------------\n-------------------------------------\n\n\n# **License** <a name = 'license'></a>\n\n**Copyright © 2023 Saqib Shaikh**\n\nThis software package, named \"Your Package Name,\" is distributed under the terms of the GNU General Public License version 3.0 (GPLv3). This license grants you the freedom to use, modify, and distribute this software according to the conditions set forth in the license text.\n\n### License Summary\n\nThe GNU General Public License v3.0 (GPLv3) is an open-source license that ensures software remains free and open for all users. It provides the following key permissions and restrictions:\n\n- **Permissions:** You are free to use, share, and modify the software.\n- **Copyleft:** Any modified versions of the software must also be distributed under the GPLv3 license terms.\n- **Distribution:** If you distribute the software, you must include the source code or a written offer to provide it.\n- **Patents:** The license explicitly deals with patents, ensuring users can use the software without concerns about potential patent claims.\n\n### License Text\n\nFor the full text of the GNU General Public License v3.0 (GPLv3), please refer to the [LICENSE](https://github.com/Saqibs575/pypatterns-575/blob/main/LICENSE) file located in the repository. This license outlines the complete terms and conditions that apply to this software.\n\nIt's important to carefully read and understand the license terms before using or distributing this software.\n\nFor any questions or inquiries regarding the license, please contact Saqib Shaikh at saquibs575@gmail.com.\n\n\n\n",
"bugtrack_url": null,
"license": "GNU General Public License v3.0",
"summary": "A Python package for creating intricate patterns.",
"version": "2.1.2",
"project_urls": {
"Bug Reports": "https://github.com/Saqibs575/pypatterns-575/issues",
"Homepage": "https://github.com/Saqibs575/pypatterns-575",
"Source": "https://github.com/Saqibs575/pypatterns-575"
},
"split_keywords": [
"patterns",
"patterns in python",
"star patterns",
"pypatterns",
"pypatterns-575"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79ce05f18a0f1b97692234e62f10e8e1a926eb45021fd5529baef1f8adf2b572",
"md5": "fb452cff67fdfe46005d4a71c989ac85",
"sha256": "afb874190774bf75f221b77e9fc7a46b64287d60dd1d12af6bd114fefa3d775a"
},
"downloads": -1,
"filename": "pypatterns_575-2.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fb452cff67fdfe46005d4a71c989ac85",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 36852,
"upload_time": "2023-10-24T19:32:55",
"upload_time_iso_8601": "2023-10-24T19:32:55.680062Z",
"url": "https://files.pythonhosted.org/packages/79/ce/05f18a0f1b97692234e62f10e8e1a926eb45021fd5529baef1f8adf2b572/pypatterns_575-2.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "976be3e5f95eaa474518e8b6779ea5a725b2d0b88a6e8899ee430ecc9b801e28",
"md5": "e869b9b521f07197cabf5e5d4609674d",
"sha256": "bf2779c9cffb46871904a9ed9a96c193dc1b4e47c13e7e4b3a688bea0b19cdea"
},
"downloads": -1,
"filename": "pypatterns_575-2.1.2.tar.gz",
"has_sig": false,
"md5_digest": "e869b9b521f07197cabf5e5d4609674d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 37035,
"upload_time": "2023-10-24T19:32:58",
"upload_time_iso_8601": "2023-10-24T19:32:58.239465Z",
"url": "https://files.pythonhosted.org/packages/97/6b/e3e5f95eaa474518e8b6779ea5a725b2d0b88a6e8899ee430ecc9b801e28/pypatterns_575-2.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-24 19:32:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Saqibs575",
"github_project": "pypatterns-575",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "pypatterns-575"
}