Programas para imprimir patrones piramidales en Python

 

Los patrones se pueden imprimir en python usando bucles for simples. El primer bucle externo se usa para manejar el número de filas y el bucle interno anidado se usa para manejar el número de columnas . Manipulando las declaraciones de impresión, se pueden imprimir diferentes patrones numéricos, patrones alfabéticos o patrones de estrellas. 

Algunos de los patrones se muestran en este artículo. 

  • Patrón de pirámide simple

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern
def pypart(n):
     
    # outer loop to handle number of rows
    # n in this case
    for i in range(0, n):
     
        # inner loop to handle number of columns
        # values changing acc. to outer loop
        for j in range(0, i+1):
         
            # printing stars
            print("* ",end="")
      
        # ending line after each row
        print("\r")
 
# Driver Code
n = 5
pypart(n)
Producción

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

Enfoque 2:  Usando List en Python 3, esto podría hacerse de una manera más simple

Python

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern
def pypart(n):
    myList = []
    for i in range(1,n+1):
        myList.append("*"*i)
    print("\n".join(myList))
 
# Driver Code
n = 5
pypart(n)
Producción

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

Enfoque 3: Uso de la recursividad

Python3

#python3 code to print pyramid pattern using recursion
def pypart(n):
    if n==0:
        return
    else:
        pypart(n-1)
        print("* "*n)
  
# Driver Code
n = 5
pypart(n)
#this code is contributed by Shivesh Kumar Dwivedi
Producción

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

Enfoque 4: Uso del ciclo while 

Python3

# python3 code to print pyramid pattern using while loop
 
# input
n=5
 
i=1;j=0
# while loop check the condition until the
# condition become false. if it is true then
# enter in to loop and print the pattern
while(i<=n):
    while(j<=i-1):
        print("* ",end="")
        j+=1
     # printing next line for each row
    print("\r")
    j=0;i+=1
 
     
     
 # this code is contributed by gangarajula laxmi
Producción

* 
* * 
* * * 
* * * * 
* * * * * 
  • Después de una rotación de 180 grados

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern
def pypart2(n):
     
    # number of spaces
    k = 2*n - 2
 
    # outer loop to handle number of rows
    for i in range(0, n):
     
        # inner loop to handle number spaces
        # values changing acc. to requirement
        for j in range(0, k):
            print(end=" ")
     
        # decrementing k after each loop
        k = k - 2
     
        # inner loop to handle number of columns
        # values changing acc. to outer loop
        for j in range(0, i+1):
         
            # printing stars
            print("* ", end="")
     
        # ending line after each row
        print("\r")
 
# Driver Code
n = 5
pypart2(n)
Producción

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

Solución optimizada:

Aquí, tenemos que imprimir un espacio (altura – fila) veces y luego imprimir “*” filas veces.

Por ejemplo: sea la altura de la pirámide 5

luego, en la fila número 1, imprimimos un espacio en blanco 4 veces (es decir, 5-1 o fila de altura)

y luego imprimimos estrella 1 vez (es decir, tiempos de fila) y luego una nueva línea

luego, en la fila número 2, imprimimos un espacio en blanco 3 veces (es decir, 5-2 o altura -fila)

y luego imprimimos estrella 2 veces (es decir, tiempos de fila) y luego una nueva línea

y así….

Método: usando el ciclo while

Python3

# python3 code to print pyramid pattern using while loop
n=5;i=0
while(i<=n):
  print(" " * (n - i) +"*" * i)
  i+=1
Producción

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

Método: Uso del bucle for

Python3

#python3 code to implement above approach
height = 5
for row in range(1, height+ 1):
    print(" " * (height - row) +"*" * row)
#this code is contributed by Shivesh kumar dwivedi
Producción

    *
   **
  ***
 ****
*****
  • Triángulo de impresión

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern triangle
def triangle(n):
     
    # number of spaces
    k = n - 1
 
    # outer loop to handle number of rows
    for i in range(0, n):
     
        # inner loop to handle number spaces
        # values changing acc. to requirement
        for j in range(0, k):
            print(end=" ")
     
        # decrementing k after each loop
        k = k - 1
     
        # inner loop to handle number of columns
        # values changing acc. to outer loop
        for j in range(0, i+1):
         
            # printing stars
            print("* ", end="")
     
        # ending line after each row
        print("\r")
 
# Driver Code
n = 5
triangle(n)
Producción

    * 
   * * 
  * * * 
 * * * * 
* * * * * 
  • patrón numérico

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern of numbers
def numpat(n):
     
    # initialising starting number
    num = 1
 
    # outer loop to handle number of rows
    for i in range(0, n):
     
        # re assigning num
        num = 1
     
        # inner loop to handle number of columns
            # values changing acc. to outer loop
        for j in range(0, i+1):
         
                # printing number
            print(num, end=" ")
         
            # incrementing number at each column
            num = num + 1
     
        # ending line after each row
        print("\r")
 
# Driver code
n = 5
numpat(n)
Producción

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 
  • Números sin reasignar

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern of numbers
def contnum(n):
     
    # initializing starting number
    num = 1
 
    # outer loop to handle number of rows
    for i in range(0, n):
     
        # not re assigning num
        # num = 1
     
        # inner loop to handle number of columns
        # values changing acc. to outer loop
        for j in range(0, i+1):
         
            # printing number
            print(num, end=" ")
         
            # incrementing number at each column
            num = num + 1
     
        # ending line after each row
        print("\r")
 
n = 5
 
# sending 5 as argument
# calling Function
contnum(n)
Producción

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 
  • Patrón de caracteres

Python3

# Python 3.x code to demonstrate star pattern
 
# Function to demonstrate printing pattern of alphabets
def alphapat(n):
     
    # initializing value corresponding to 'A'
    # ASCII value
    num = 65
 
    # outer loop to handle number of rows
    # 5 in this case
    for i in range(0, n):
     
        # inner loop to handle number of columns
        # values changing acc. to outer loop
        for j in range(0, i+1):
         
            # explicitly converting to char
            ch = chr(num)
         
            # printing char value
            print(ch, end=" ")
     
        # incrementing number
        num = num + 1
     
        # ending line after each row
        print("\r")
 
# Driver Code
n = 5
alphapat(n)
Producción

A 
B B 
C C C 
D D D D 
E E E E E 
  • Patrón de carácter continuo

Python3

# Python code 3.x to demonstrate star pattern
 
# Function to demonstrate printing pattern of alphabets
 
 
def contalpha(n):
 
    # initializing value corresponding to 'A'
    # ASCII value
    num = 65
 
 
    # outer loop to handle number of rows
- for i in range(0, n):
 
    # inner loop to handle number of columns
    # values changing acc. to outer loop
    for j in range(0, i+1):
 
        # explicitly converting to char
        ch = chr(num)
 
        # printing char value
        print(ch, end=" ")
 
        # incrementing at each column
        num = num + 1
 
    # ending line after each row
    print("\r")
 
# Driver code
n = 5
contalpha(n)

Producción:

A 
B C 
D E F 
G H I J 
K L M N O

Este artículo es una contribución de Manjeet Singh (S.Nupur) . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *