python代码解答

第二题:

所谓“往返跑方阵”,是指对任意给定的n,将1到n×n的整数依次填写到n×n的方阵中,从右上角第1个格子开始,向下填充;倒底后,往左移动一列,改变方向,向上填充;到最上面一行后,再向左一列,改变方向,向下填充;.…… 以此类推,直到将n×n的方阵填满。本题要求构造这样的“往返跑方阵”。

输入格式:

输入一个正整数n(1⩽n⩽10 )

输出格式:

输出n×n的往返跑方阵。每行n个数字,每个数字占3位,右对齐

输入样例1:

在这里给出一组输入。例如:

3

输出样例1:

在这里给出相应的输出。例如:

  7  6  1
  8  5  2
  9  4  3

输入样例2:

在这里给出一组输入。例如:

5

输出样例2:

在这里给出相应的输出。例如:

 21 20 11 10  1
 22 19 12  9  2
 23 18 13  8  3
 24 17 14  7  4
 25 16 15  6  5

 

 

#第一题:
n = int(input())
mid_index = int(n/2)
arr = [0,mid_index,n-1]

for i in range(n):
    if i in arr:
        print("*"*n, end='')
    else:
        for j in range(n):
            if j in arr:
                 print("*",end="")
            else:
                print(" ",end="")
    print()

 

# 第二题
import numpy as np
n = 5 # int(input())
data = np.zeros((n,n))
# x轴坐标
a = 0
x = []
while a<n: 
    if a%2==0:
        for i in range(n):
            x.append(i)
    else:
        for i in range(n-1, -1, -1):
            x.append(i)
    a += 1
    
# y轴坐标
y = []
i = 0
for j in range(n-1,-1,-1): 
    for k in range(n):
        y.append(j)

for i,j in enumerate(zip(x,y)):  # 得到矩阵
    data[j] = i+1
        
for i in data:  # 将矩阵元素取出,输出成要求的格式
    for j in i:
        print('{:2d}'.format(int(j)), end=' ')
    print()

 

第一题 :

n = eval(input(“请输入一个奇数:”))

a = “-”

b = “┼”

c = “∣”

d = " "

m = n // 2

for i in range(n):

 if i in [0,m,n-1]:

  print("{0}{1}{0}{1}{0}".format(b,a*(m-1)))

 else:

  print("{0}{1}{0}{1}{0}".format(c,d2(m-1)))

 

第二题: 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632