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)
* * * * * * * * * * * * * * *
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)
* ** *** **** *****
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
* * * * * * * * * * * * * * *
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
* * * * * * * * * * * * * * *
- 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)
* * * * * * * * * * * * * * *
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
* ** *** **** *****
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
* ** *** **** *****
- 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)
* * * * * * * * * * * * * * *
- 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)
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)
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)
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