封装打印矩形的函数
当参数n为0时,打印实心矩形,否则打印空心矩形
# 方法一 def rectangle(L,W,n=0) : ''' 函数的作用:打印一个可以控制长、宽、实心、空心的矩形 :param L: 矩形的长,需为大于1的整数 :param W: 矩形的宽,需为大于1的整数 :param n: 值为0时打印实心图形,否则打印空心图形;默认值为0 :return: ''' for x in range(0,(L*W)) : if x <= (W-1) : # 打印矩形的第一行 print('● ',end='') elif x >= W and x <= (W*(L-1)) and n == 0 : # n为0时,完整打印每一行 print('● ',end='') elif x >= W and x <= (W*(L-1)) and n != 0 : # n不为0时,除首尾两行,其余每行只打印第一个和最后一个,中间为空 if x % W == 0 or x % W == (W-1) : # 每行的第一个和最后一个位置 print('● ',end='') else : print(' ',end='') elif x >= (W*(L-1)) : # 打印矩形的最后一行 print('● ',end='') if x % W == (W-1) : print() rectangle(3,3,1) ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
# 方法二 def R(l,h,n=0) : sum = l*h+1 # 根据输入的长、宽确定序列总数 H = 1 # 记录矩形的行数 if n == 0 : for i in range(1,sum) : print('● ',end='') if i % l == 0 : print() else: for i in range(1,sum) : if H == 1 or H == h : # 矩形的第一行或最后一行,需完整打印 print('● ',end='') if i % l == 0 : print() H += 1 # 记录行数 elif i % l == 1 : # 中间行的首位置 print('● ',end='') elif i % l == 0 : # 中间行的末位置 print('● ', end='') print() H += 1 # 记录行数 else : print(' ',end='') R(7,4,1) ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●