JackieZhai


私信TA

用户名:dotcpp0643330

访问量:175

签 名:

等  级
排  名 30846
经  验 453
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 汕头大学
专  业

  自我简介:

解题思路:
这是语句题解第一名思路写出来的哦,大家结合着看最好嘞

注意事项:

参考代码:

# 绘画边界的函数

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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区