题目描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
输出描述:
针对每行输入,输出用“*”组成的X形图案。
示例1
输入
5
输出
* *
* *
*
* *
* *
示例2
输入
6
输出
* *
* *
**
**
* *
* *
class Solution :
def __init__(self,n) :
self.n = n
self.O = []
self.k = False
def output(self) :
self.O = [' ' for i in range(self.n)]
self.O[0],self.O[n - 1] = '*','*'
try :
for j in range(self.n) :
print(''.join(self.O))
if self.k :
self.O[self.n - j] = '*'
self.k = False
self.O[j + 1],self.O[j] = self.O[j],self.O[j + 1]
if j + 1 == int(self.n / 2) and self.n % 2 != 0 :
self.O[self.n - j - 1] = ' '
self.k = True
continue
self.O[self.n - j -1],self.O[self.n - j - 2] = self.O[self.n - j - 2],self.O[self.n - j -1]
except :
return
while True :
try :
n = int(input())
s = Solution(n)
s.output()
except :
break
如有不足,欢迎指正。