Programa Python para imprimir un patrón hash de medio diamante hueco

Dé un número entero N y la tarea es imprimir un patrón de medio diamante hueco.

Ejemplos:

Input : 6
Output :
# 
# # 
#   # 
#     # 
#       # 
#         # 
#       # 
#     # 
#   # 
# # 
# 

Input : 7
Output :
# 
# # 
#   # 
#     # 
#       # 
#         # 
#           # 
#         # 
#       # 
#     # 
#   # 
# # 
#  

Enfoque:
La idea es dividir el patrón en dos partes:

  • Parte superior: Para la mitad superior, inicie el ciclo for con el iterador (i) de 1 a n y otro ciclo for con el iterador (j) de 1 a i.
    # 
    # # 
    #   # 
    #     # 
    #       # 
    #         # 
    #           #  
    
  • Parte inferior: para la mitad inferior, comience el ciclo for con el iterador (n-1) a 1 y el ciclo dentro de este for seguirá siendo el mismo que para la mitad superior.
    #         # 
    #       # 
    #     # 
    #   # 
    # # 
    #
    
  • Ahora tenemos que verificar esta condición de que si (i==j) o (j==1) entonces tenemos que imprimir «#», de lo contrario tenemos que imprimir «» (espacio).

A continuación se muestra la implementación:

# python program to print 
# hollow half diamond star
  
  
# function to print hollow
# half diamond star
def hollow_half_diamond(N):
      
    # this for loop is for 
    # printing upper half 
    for i in range( 1, N + 1):
        for j in range(1, i + 1):
              
            # this is the condition to 
            # print "#" only on the
            # boundaries
            if i == j or j == 1:
                print("#", end =" ")
                  
            # print " "(space) on the rest
            # of the area
            else:
                print(" ", end =" ")
        print()
      
    # this for loop is to print lower half
    for i in range(N - 1, 0, -1):
          
        for j in range(1, i + 1):
              
            if j == 1 or i == j:
                print("#", end =" ")
              
            else:
                print(" ", end =" ")
          
        print()
  
# Driver Code
if __name__ == "__main__":
    N = 7
    hollow_half_diamond( N )
  

Producción:

# 
# # 
#   # 
#     # 
#       # 
#         # 
#           # 
#         # 
#       # 
#     # 
#   # 
# # 
# 

Complejidad del tiempo: O(N^2)

Publicación traducida automáticamente

Artículo escrito por kashishmishra9911 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 *