下面Python代码实现输出如下图形,应该在横线处填入的代码是()。 注:字符串乘以一个正整数,相当于相同字符重复。
样例输入:
请输入行数 n: 10
请输入列数 m: 12
样例输出:
-----**-----
-----**-----
-----**-----
-----**-----
************
************
-----**-----
-----**-----
-----**-----
-----**-----
对应代码:
# 输入行数 n 和列数 m
n = int(input("请输入行数 n: "))
m = int(input("请输入列数 m: "))
# 计算中间行和中间列的索引
mid_row = n // 2 # 中间行索引(如果 n 为奇数,则中间一行;如果 n 为偶数,则中间两行的起始索引)
mid_col = m // 2 # 中间列索引
# 遍历每一行
for i in range(n):
# 判断当前行是否为中间行(或中间两行)
if (_____________________________________________):
# 如果是中间行,打印一整行 '*',长度为 m
print('*' * m)
else:
# 如果不是中间行,根据列数 m 的奇偶性构建字符串
if m % 2 == 1:
# 奇数列:左侧为 '-',中间为 '*',右侧为 '-',总长度为 m
left = '-' * mid_col # 左侧有 mid_col 个 '-'
center = '*' # 中间一个 '*'
right = '-' * mid_col # 右侧有 mid_col 个 '-'
print(left + center + right)
else:
# 偶数列:左侧为 '-',中间为 '**',右侧为 '-',总长度为 m
left = '-' * (mid_col - 1) # 左侧有 (mid_col - 1) 个 '-'
center = '**' # 中间两个 '*',修正原图中的错误
right = '-' * (mid_col - 1) # 右侧有 (mid_col - 1) 个 '-'
print(left + center + right)