📜  Python程序打印空心半菱形哈希图案

📅  最后修改于: 2022-05-13 01:55:32.762000             🧑  作者: Mango

Python程序打印空心半菱形哈希图案

给一个整数N ,任务是打印空心半菱形图案。

例子:

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

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

方法:
这个想法是将模式分成两部分:

  • 上半部分:对于上半部分,使用从 1 到 n 的迭代器 (i) 开始 for 循环,然后使用从 1 到 i 的迭代器 (j) 再进行一个 for 循环。
    # 
    # # 
    #   # 
    #     # 
    #       # 
    #         # 
    #           #  
    
  • 下半部分对于下半部分,使用迭代器 (n-1) 到 1 开始 for 循环,并且在此 for 中的循环将与上半部分保持相同。
    #         # 
    #       # 
    #     # 
    #   # 
    # # 
    #
    
  • 现在我们必须检查这个条件,如果 (i==j) 或 (j==1) 那么我们必须打印“#”,否则我们必须打印“”(空格)。

下面是实现:

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

输出:

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

时间复杂度: O(N^2)