Dada la entrada de un entero par, la tarea es escribir un programa en Python para imprimir un corazón usando bucles y formulaciones matemáticas.
Ejemplo :
For n = 8 * * * * * * * * * * G F G * * * * * * * * For n = 14 * * * * * * * * * * * * * * * * * * G F G * * * * * * * * * * * * * *
Acercarse :
Se utilizan los siguientes pasos:
- Forme la hoja de trabajo de n X n+1 usando dos bucles.
- Aplique las condiciones if-else para imprimir estrellas.
- Aplicar las condiciones if-else para imprimir el texto “GFG”.
- Aplicar otra condición para espacios de descanso.
Nota: El valor de n debe ser mayor que 8
A continuación se muestra la implementación del enfoque anterior:
Python3
# define size n = even only n = 8 # so this heart can be made n//2 part left, # n//2 part right, and one middle line # i.e; columns m = n + 1 m = n+1 # loops for upper part for i in range(n//2-1): for j in range(m): # condition for printing stars to GFG upper line if i == n//2-2 and (j == 0 or j == m-1): print("*", end=" ") # condition for printing stars to left upper elif j <= m//2 and ((i+j == n//2-3 and j <= m//4) \ or (j-i == m//2-n//2+3 and j > m//4)): print("*", end=" ") # condition for printing stars to right upper elif j > m//2 and ((i+j == n//2-3+m//2 and j < 3*m//4) \ or (j-i == m//2-n//2+3+m//2 and j >= 3*m//4)): print("*", end=" ") # condition for printing spaces else: print(" ", end=" ") print() # loops for lower part for i in range(n//2-1, n): for j in range(m): # condition for printing stars if (i-j == n//2-1) or (i+j == n-1+m//2): print('*', end=" ") # condition for printing GFG elif i == n//2-1: if j == m//2-1 or j == m//2+1: print('G', end=" ") elif j == m//2: print('F', end=" ") else: print(' ', end=" ") # condition for printing spaces else: print(' ', end=" ") print()
Producción:
* * * * * * * * * * * * * * * * * * G F G * * * * * * * * * * * * * *
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA