Dado un número n, la tarea es escribir un programa de Python para imprimir un patrón de números de medio diamante con un borde de estrella.
Ejemplos:
Input: n = 5 Output: * *1* *121* *12321* *1234321* *123454321* *1234321* *12321* *121* *1* * Input: n = 3 Output: * *1* *121* *12321* *121* *1* *
Acercarse:
- Se ejecutarán dos bucles for en este programa para imprimir los números y las estrellas.
- Primero imprima * y luego ejecute for loop de 1 a (n+1) para imprimir hasta las filas en orden ascendente.
- En este bucle for en particular, * se imprimirá hasta i y luego se ejecutará un bucle for más de 1 a i+1 para imprimir los números en orden ascendente.
- Ahora se ejecutará un bucle más de i-1 a 0 para imprimir el número en el orden inverso.
- Ahora se imprimirá una estrella y este bucle for terminará.
- Ahora, el segundo ciclo for se ejecutará de n-1 a 0 para imprimir el patrón como en el medio en el que los números están en forma inversa.
- En este bucle for también se realizará el mismo trabajo que en el primer bucle for.
- Se mostrará el patrón requerido.
A continuación se muestra la implementación del patrón anterior:
Python3
# function to display the pattern up to n def display(n): print("*") for i in range(1, n+1): print("*", end="") # for loop to display number up to i for j in range(1, i+1): print(j, end="") # for loop to display number in reverse direction for j in range(i-1, 0, -1): print(j, end="") print("*", end="") print() # for loop to display i in reverse direction for i in range(n-1, 0, -1): print("*", end="") for j in range(1, i+1): print(j, end="") for j in range(i-1, 0, -1): print(j, end="") print("*", end="") print() print("*") # driver code n = 5 print('\nFor n =', n) display(n) n = 3 print('\nFor n =', n) display(n)
Producción:
For n = 5 * *1* *121* *12321* *1234321* *123454321* *1234321* *12321* *121* *1* * For n = 3 * *1* *121* *12321* *121* *1* *
Publicación traducida automáticamente
Artículo escrito por vermashivani543 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA