我已经用python编写了下面给出的同心正方形代码。但是我没有得到想要的输出

2024-04-23 10:46:27 发布

您现在位置:Python中文网/ 问答频道 /正文

n=int(input())


answer=[[1]]
for i in range(2, n+1):
    t=[i]*((2*i)-3)
    t1=[i]*((2*i)-3)
    answer.insert(0, t)
    answer.append(t1)
    for a in answer:
        a.insert(0,I)
        a.append(i)

answerfinal=[]
for a in answer:
    answerfinal.append("".join(str(a)))
for a in answerfinal:
    print(''.join(map(str, a)), end='\n')

I want the below output:

44444

4333334

4322234

4321234

4322234

4333334

44444

但我得到的结果如下:

[4,4,4,4,4,4,4,4]

[4,3,3,3,3,3,3,4]

[4,3,2,2,2,3,4]

[4,3,2,1,2,3,4]

[4,3,2,2,2,3,4]

[4,3,3,3,3,3,3,4]

[4,4,4,4,4,4,4,4]

有人能告诉我我在代码中犯了什么错误吗


Tags: answerinmapforinputrangeintend
1条回答
网友
1楼 · 发布于 2024-04-23 10:46:27

只需从第二个for语句中删除join方法:

n=int(input())


answer=[[1]]
for i in range(2, n+1):
    t=[i]*((2*i)-3)
    t1=[i]*((2*i)-3)
    answer.insert(0, t)
    answer.append(t1)
    for a in answer:
        a.insert(0, i)
        a.append(i)

answerfinal=[]
for a in answer:
    answerfinal.append(a)
for a in answerfinal:
    print(''.join(map(str, a)), end='\n')

相关问题 更多 >