解题思路:
这是语句题解第一名思路写出来的哦,大家结合着看最好嘞
注意事项:
参考代码:
# 绘画边界的函数
def par(r, c, w):
t[r][c] = '$'
for i in range(1,w+1):
t[r-i][c] = '$'
for i in range(1, 3):
t[r-w][c+i] = '$'
for i in range(1, 3):
t[r-w-i][c+2] = '$'
for i in range(1,w+1):
t[r-w-2][c+2+i] = '$'
n = eval(input()) # 输入的包围层数
r = 5 + 4*n
t = [['.' for i in range(r)] for j in range(r)]
# 先画1/4的图形
# 画中心十字
for i in range(r//2-2, r//2+1):
t[r//2][i] = '$' # 这里要注意数列是从0开始的
t[i][r//2] = '$'
# 包围的1/4边界绘画
for i in range(1, n+1):
col = r//2 -2 - 2*i
row = r//2
walk = 2*i
par(row,col,walk)
# 1/4左右对称绘画
for i in range(r//2):
for j in range(r//2+1):
t[j][r-1-i] = t[j][i]
# 1/2上下对称绘画
for i in range(r//2):
for j in range(r):
t[r-i-1][j] = t[i][j]
for i in range(len(t)): # 像这样直接检测t的话是只检测其中的一个维度的哦
# 这里返回的是行数,如果是len(t[i])则返回的是i行的列数
print(''.join(t[i])) # 将一维的数列字符串连接起来,期间的间隙为''
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1337 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:378 |
printf基础练习2 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:474 |
用筛法求之N内的素数。 (C语言代码)浏览:669 |
水仙花 (C语言代码)浏览:1053 |
1009题解浏览:752 |
1017题解浏览:605 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:673 |