题目

某程序功能如下:输入n,生成n*n的方阵,存于列表a,内容为1至9的随机整数。再对以(x0,y0)和(x1, y1)为对角顶点的矩形区域中的数据进行水平翻转,并将变换后的二维数组以矩阵形式输出。再输入小于n的四个数字(如a,b,c,d,四者关系必须满足a<c,b<d),用逗号间隔: 2,1,6,5 则左上角为a[1][2] ,右下角为a[5][6],则运行程序后,运行界面如图所示。 (1) 以上图为例,如果输入左上角+右下角的坐标为:2,3,7,5。水平翻转后,则元素a[3][4]的值在新数组保存在元素a[][](填写下标)中。 (2) 代码如下并完成填空。 #生成n*n的矩阵 import random n=int(input(‘输入n,产生n*n的方阵:’ )) a=[[random.randint(1,9) for i in range(n)] for j in range(n)] for i in a:   print(i) print( ) x,y=[],[] xy=input("请输入左上角+右下角坐标:") #输入左上角坐标+右下角坐标,用逗号分隔数字。如:"2,1,14,13" xy=xy+"," c,j=0,0 for i in range(len(xy)):   if xy[i]==",":     if :       x.append(int(xy[j:i]))     else:       y.append(int(xy[j:i]))         c=c+1 for i in range(y[0],y[1]+1,1):   for j in range(x[0],(x[0]+x[1])//2+1,1):     a[i][j],a[i][]=a[i][],a[i][j] for i in range(len(a)):   print(a[i]) 答案: 【1】3【2】5 【1】c%2==0 或c%2!=1 或其他等价答案【2】j=i+1【3】x[0]+x[1]-j【4】x[0]+x[1]-j
信息技术 试题推荐
最近更新