
来个人,快来帮帮我,明天就要完成了,来个人吧,要被折磨死了,到底怎么才能运行正确

python代码
#!/sur/bin/nve python
# coding: utf-8
def drawTian(n):
import numpy as np
a = np.full((n, n), ' ', dtype=str) # 创建字符矩阵。
# 画列 #
a[range(n), [0]*n] = '*'
a[range(n), [n//2]*n] = '*'
a[range(n), [-1]*n] = '*'
# 画行 #
a[[0]*n, range(n)] = '*'
a[[n//2]*n, range(n)] = '*'
a[[-1]*n, range(n)] = '*'
print('\n'.join([" ".join(i) for i in a])) # 字符串格式化输出*田形状。
if __name__ == '__main__':
for i in range(3, 10):
print()
drawTian(2*i-1)
python代码
#!/sur/bin/nve python
# coding: utf-8
def drawTian(n):
fullStars = '* '*(n-1)
blank = ' '*(n-3)
threeStars = '*' + blank + '*' + blank + '*'
for i in range(n): # 字符串格式化循环逐行输出*田形状。
if i in (0, n//2, n-1):
print(fullStars)
else:
print(threeStars)
if __name__ == '__main__':
for i in range(3, 10):
print()
drawTian(2*i-1)
这个if语句,
if i in (0, n//2, n-1):
print(fullStars)
else:
print(threeStars)
可以用三元操作语句写成一个print()
print(fullStars if i in (0, n//2, n-1) else threeStars)
字符串手撕*田“最简代码”
#!/sur/bin/nve python
# coding: utf-8
def drawTian(n):
fullStars = '* '*(n-1)
fullStars = ' '.join(list('*'*(n-1))) # 全*行也可以是这样子的。
blank = ' '*(n-3)
threeStars = '*' + blank + '*' + blank + '*'
for i in range(n): # 字符串格式化循环逐行输出*田形状。
print(fullStars if i in (0, n//2, n-1) else threeStars)
if __name__ == '__main__':
for i in range(3, 10):
print()
drawTian(2*i-1)