现有列表 k = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],那么Python3解释器执行k[3::-1]的结果是()A.[3, 2, 1, 0]B.[3, 2, 1]C.[4, 3, 2, 1]D.[4, 3]

题目

现有列表 k = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],那么Python3解释器执行k[3::-1]的结果是()

A.[3, 2, 1, 0]

B.[3, 2, 1]

C.[4, 3, 2, 1]

D.[4, 3]


相似考题
参考答案和解析
b
更多“现有列表 k = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],那么Python3解释器执行k[3::-1]的结果是()”相关问题
  • 第1题:

    ●试题四

    阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。

    在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例:序列 {6,8,9,1,2,5,4,7,3}

    经重排后成为{3,4,5,2,1,6,8,9,7}

    【函数】

    #include<stdio.h>

    #include<conio.h>

    void jsValue(int a[10][9])

    {int i,j,k,n,temp;

    int b[9];

    for(i=0;i<10;i++)

    {temp=a[i][0];

    k=8;n=0;

    for(j=8;j=0;j--)

    {if(temp<a[i][j]) (1) =a[i][j];

    if(temp>a[i][j]) (2) =a[i][j];

    if(temp=a[i][j]) (3) =temp;

    }

    for(j=0;j<9;j++)a[i][j]=b[j];

    }

    }

    void main()

    {

    int a[10][9]={{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7},{3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6},{4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7},{2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4},{7,1,3,2,5,8,9,4,6}

    };

    int i,j;

    (4) ;

    for(i=0;i<10;i++){

    for(j=0;j<9;j++){

    printf("%d",a[i][j]);

    if( (5) )printf(",");

    }

    printf("\n");

    }

    getch();

    }


    正确答案:

    ●试题四

    【答案】(1)bk--(2)bn++](3)bn(4)jsValue(a)(5)j<=7

    【解析】在主函数中先要调用函数jsValue()对数组a进行处理,所以(4)空应填入"jsValue(a)"。然后输出数组元素,同一行的元素之间用逗号分隔,所以(5)空应填入"j<=7"。

    函数jsValue()是将数组按题目要求进行排序。通过观察发现处理后的数组中元素的顺序与原来的顺序相反,并且每一行中没有与第一个数相同的数,所以是从后往前处理,也就是将每组从最后往前倒序逐个同第一个数比较,比它大的就放到临时数组b中的最后,比它小的就放到临时数组b中的最前面,以次类推,所以(1)空应填入"bk--",(2)空应填入"bn++],(3)空应填入"bn"。最后将b数组赋给a数组。

     

  • 第2题:

    有以下程序

    main()

    {int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;

    for(i=0;i<3;i++)

    for(k=i+i;k<4;k++) if(a[i][i]

    for(i=0;i<4;i++)printf(“%d,”,a[0][i]);

    }

    程序运行后的输出结果是( )。

    A.6,2,1,1,

    B.6,4,3,2,

    C.1,1,2,6,

    D.2,3,4,6,


    正确答案:B

  • 第3题:

    有以下程序 main() { int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;<4:i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]{t=a[j][i];a[j][i]=a[k][i]=a[k][i]=t;}/*按列排序*/ for(i=0;i<4;i++)printf("%d,",a[i][i]); } 程序运行后的输出结果是

    A.1,6,5,7,

    B.8,7,3,1,

    C.4,7,5,2,

    D.1,6,2,1,


    正确答案:A
    解析:本题利用多重for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列。最后输出对角线上的元素值。故本题答案为A)。

  • 第4题:

    有以下程序: main() { int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t; for(i=0;i<3;i++) for(k=i+i;k<4;k++)if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;} for(i=0;i<4;i++)printf("%d,",a[0][i]); } 程序运行后的输出结果是( )。

    A.6,2,1,1,

    B.6,4,3,2,

    C.1,1,2,6,

    D.2,3,4,6,


    正确答案:B
    解析:该程序实现对二维数据反对角线上的元素从大到小的排序,并输出排序后的数组的第一行。外层循环变量i表示第i行第i列的数字,内层循环变量k表示第i+1行第i+1列的数字,if语句对相关数值进行比较和交换,最后数组变为a[4][4]={{6,4,3,2,},{8,2,5,7,},{3,7,1,5,},{4,8,6,1,}},并将第一行输出。

  • 第5题:

    有以下程序 main( ) { int m[ ][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是

    A.4 5 6

    B.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:C
    解析:本题的功能是输出m[2)[0],m[2][1]和m[2][2]。

  • 第6题:

    下列程序 Option Base 1 Const upl = 10 Private Sub Form_click() Dim a(upl) As Integer k = -1 For i = 1 To upl a(i) = i * k k = -1 * k Next i For i = 1 To 10 Print a(i); Next End Sub 运行时输出的结果是 () 。

    A. 1 3 5 7 9 10

    B. -1 -3 -5 -7 -9

    C. -1 2 -3 4 -5 6 -7 8 -9 10

    D. 1 -2 3 -4 5 -6 7 -8 9 -10


    参考答案:C

  • 第7题:

    阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。

    在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例:序列{6,8,9,1,2,5,4,7,3}

    经重排后成为{3,4,5,2,1,6,8,9,7}

    【函数】

    include < stdio. h >

    include < conio. h >

    void jsValue( int a [10] [9] )

    { int i,j,k,n,temp;

    int b[9];

    for(i=0;i<10;i++)

    { temp=a[i] [0];

    k=8;n=0;

    for(j=8;j=0;j--)

    { if(temp < a[i] [j]) (1)=a[i][j];

    if(temp >a[i] [j]) (2)=a[i][j];

    if(temp =a[i] [j]) (3)= temp;

    }

    for(j=0;j<9;j++) a[i][j] =b[j];

    }

    }

    void main( )

    int a[10] [9] = {{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7}, {3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6}, {4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7}, {2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4}, {7,1,3,2,5,8,9,4,6}

    };

    int i,j;

    (4);

    for(i=0;i<10;i++) {

    for(j=0;j<9;j++) {

    printf("%d",a[i] [j] );

    if((5))printf(",");

    }

    printf(" \n" );

    }

    getch( );

    }


    正确答案:(1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7
    (1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7 解析:在主函数中先要调用函数jsValue()对数组a进行处理,所以(4)空应填入“jsValue(a)”。然后输出数组元素,同一行的元素之间用逗号分隔,所以(5)空应填入“j=7”。
    函数jsValue()是将数组按题目要求进行排序。通过观察发现处理后的数组中元素的顺序与原来的顺序相反,并且每一行中没有与第一个数相同的数,所以是从后往前处理,也就是将每组从最后往前倒序逐个问第一个数比较,比它大的就放到临时数组b中的最后,比它小的就放到临时数组b中的最前面,以次类推,所以(1)空应填入“b[k- -]”,(2)空应填入“b[n++],(3)空应填入“b[n]”。最后将b数组赋给a数组。

  • 第8题:

    定义如下变量和数组: int k; int a[3][3]={9,8,7,6,5,4,3,2,1}; 则下面语句的输出结果是 for(k=0;k<3;k++)printf("%d",a[k][k]);

    A.7 5 3

    B.9 5 1

    C.96 3

    D.7 4 1


    正确答案:B
    解析:本题中的二维数组的每个元素就是一个由3个元素构成的一维数组,根据条件for(k=0;k3;++)和要求的a[k][k]可以得出本题的答案应该是951。

  • 第9题:

    有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=1 for(i=0;i<3;i++) { printf("%d",m[k][i]); } }执行后输出结果是______。

    A.4 5 6

    B.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:B

  • 第10题:

    有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是

    A.456

    B.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:C
    解析:本题考核的知识点是二维数组的定义,赋值及数组元素的引用。变量k的初值为2,循环执行了3次,分别输出m[2][0]、m[2][1]和m[2][2],其值分别为3,6,9。所以,C选项为所选。

  • 第11题:

    下面程序运行后,输出的结果是

    Dim arr(3,3)

    For j=1 To 3

    For k=1 To 3

    Arr(j,k)=(j-1)*3+k

    Next k

    Next j

    For j=2 To 3

    For j=2 To 3

    Print arr(k,j);

    Next k

    Print

    Next j

    A.2 5 3 6

    B.5 8 6 9

    C.4 7 5 8

    D.5 9 6 8


    正确答案:B
    解析:依题意,声明一个三行三列的数组,并用嵌套for循环赋值如下
    arr(1,1)=1 arr(2,1)=4 arr(3,1)=7
    arr(1,2)=2 arr(2,2)=5 arr(3,2)=8
    arr(1,3)=3 arr(2,3)=6 arr(3,3)=9
    最后用Print函数输出arr(2,2),arr(3,2),空行,arr(2,3),arr(3,3)。

  • 第12题:

    单选题
    有以下程序:#include void fun(int a[],int n){ int i,j=0,k=n/2,b[10]; for(i=n/2-1;i>=0;i--) {  b[i]=a[j];  b[k]=a[j+1];  j+=2;  k++; } for(i=0;i  a[i]=b[i];}main(){ int c[]={10,9,8,7,6,5,4,3,2,1},i; fun(c,10); for(i=0;i  printf("%d,",c[i]); printf("");}程序的运行结果是(  )。
    A

    2,4,6,8,10,9,7,5,3,1,

    B

    10,8,6,4,2,1,3,5,7,9,

    C

    1,2,3,4,5,6,7,8,9,10,

    D

    1,3,5,7,9,10,8,6,4,2,


    正确答案: D
    解析:
    程序的执行过程为:调用函数fun,将数组c地址与n数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为c[10]={2,4,6,8,10,9,7,5,3,1},之后依次输出。答案选择A选项。

  • 第13题:

    有以下程序

    main()

    {int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;

    for(i=0;i<4;i++)

    for(j=0;j<3;j++)

    for(k=j+1;k<4;k++)

    if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

    for(i=0;i<4;i++)printf(“%d,”,a[i][j]);

    }

    程序运行后的输出结果是( )。

    A.1,6,5,7,

    B.8,7,3,1,

    C.4,7,5,2,

    D.1,6,2,1,


    正确答案:A

  • 第14题:

    {0、2、1、4、3、9、5、8、6、7}是以数组形式存储的最小堆,删除堆顶元素0后的结果是()

    A.{2、1、4、3、9、5、8、6、7}

    B.{1、2、5、4、3、9、8、6、7}

    C.{2、3、1、4、7、9、5、8、6}

    D.{1、2、5、4、3、9、7、8、6}


    正确答案:D

  • 第15题:

    有以下程序 main() { int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t; for(i=0;i<3;i++) for(k=i+1;k<4;k++)if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;} for(i=0;i<4;i++)printf("%d,",a[0][i]); } 程序运行后的输出结果是

    A.6,2,1,1,

    B.6,4,3,2,

    C.1,1,2,6,

    D.2,3,4,6,


    正确答案:B
    解析:本题使用选择法对二维数组对角线上的元素按从大到小的顺序进行排列。最后输出数组第一行的数据。故本题答案为B)。

  • 第16题:

    (23)下列程序运行时输出的结果是 Option Base 1 Const a=10 Priate Sub Form_Click() Dim x(a) As Integer k=-1 For i=1 To a x(i)=i*k k=(-1)*k Next i For i=1 To 10 Print x(i) Next i End Sub A.1 3 5 7 9 10 B.-1 -3 -5 -7 -9 C.-1 2-3 4-5 6-7 8-9 10 D.1-2 3-4 5-6 7-8 9-10


    正确答案:C
    【解析】本题中两个For循环的作用分别为:为x数组元素赋值,在窗体上依次输出x数组元素的值。
      其中,为x数组元素赋值时,有“x(i)=i*k”和“k=(-1)*k”两条语句。k的值每次都取自己的相反数,这样,x数组元素的符号每次都在变化,第1个元素是-1,第2个元素是2,第3个元素是-3,依此类推;最后输出x元素的值为-1 2 -3 4 -5 6 -7 8 -9 10。

  • 第17题:

    定义如下变量和数组:

    int k;

    int a[3][3]={9,8,7,6,5,4,3,2,1};

    则下面语句的输出结果是

    for(k=0;k<3;k++)printf("%d",a[k][k]);

    A.7 5 3

    B.9 5 1

    C.9 6 3

    D.7 4 1


    正确答案:B

  • 第18题:

    下列程序执行后的输出结果是______。 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2; for(i=0;i<3;i++) {printf("%d",m[k][i]);} }

    A.456

    B.258

    C.369

    D.789


    正确答案:C
    解析:根据二维数组的定义得出:m[0][0]=1,m[0][1]=4,m[0][2]=7,m[1][0]=2,m[1][1]=5,m[1][2]=8,m[2][0]=3,m[2][1]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。

  • 第19题:

    有以下程序: main() { int m[][3]={1, 4, 7, 2, 5, 8, 3, 6, 9); int i, j, k=2; for(i=0; i<3; i++) { printf("% d", m[k][i]); } } 执行后输出结果是______。

    A.456

    B.258

    C.369

    D.789


    正确答案:C
    解析:数组m初始化后结果为:m[0][0]=1、m[0][1]=4、m[0][2]=7、m[1][0]=2、m[1][1]=5、m[1][2]=8、m[2][0]=3、m[2][1]=6、m[2][2]=9。for循环语句的作用是输出数组元素m[2][0]、m[2][1]和m[2][2],所以输出结果为:369。

  • 第20题:

    下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现以上功能,最后调用函数writeDat(),将新序列输出到文件out.dat中。说明:程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9] 中,分别求出这10个新序列。例如:序列{6, 8, 9, 1, 2, 5, 4, 7, 3}重排后为{3, 4, 5, 2, 1, 6, 8, 9, 7}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#include<stdio.h>void jsValue(int a[10][9]){ } void main(){ int a[10][9]={{6,8,9,1,2,5,4,7,3} {3,5,8,9,1,2,6,4,7} {8,2,1,9,3,5,4,6,7} {3,5,1,2,9,8,6,7,4} {4,7,8,9,1,2,5,3,6} {4,7,3,5,1,2,6,8,9} {9,1,3,5,8,6,2,4,7} {2,6,1,9,8,3,5,7,4} {5,3,7,9,1,8,2,6,4} {7,1,3,2,5,8,9,4,6} }; int i,j; jsValue(a); for(i=0;i<10;i++){ for(j=0;j<9;j++) { printf("%d",a[i][j]); if(j<=7) printf(","); } printf("\n");}writeDat(a);}void writeDat(int a[10][9]){ FILE *fp; int i,j; fp=fopen("out.dat","w"); for(i=0;i<10;i++){ for(j=0;j<9;j++){ fprintf(fp,"%d",a[i][j]); if(j<=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}


    正确答案:参考试题解析
    【解析及答案】
    本题的任务是把排序函数jsValue() 补充完整。本题的处理过程是对数组a[10][9] 中的每行数据分别处理,然后再放置到原来的数组a[10][9] 中。求解时需要使用一个[10][9] 的临时数组b存放处理时的中间结果。数组a处理完以后,就用数组b的内容代替数组a的内容。对每行数据进行处理时,首先需要准备两个指示器nk,分别指向数组b中该行的开头和结尾。然后,反向扫描数组a中对应的行。如果碰到比该行第1个数据值大的元素,就将其放到指示器k指向的位置;如果碰到比其数据值小的元素,就将其放到指示器n指向的位置。处理完以后,还要移动指示器nk,使其定位在新的位置,以接收后面的数据。如果碰到和其数据值相等的元素,由题意可知,这样的元素在新数组中只允许出现1次,所以直接把这个元素放到指示器nk指向的位置即可,但不必移动指示器,否则该元素有可能出现多次。综上所述,完整的排序函数jsValue() 如下。
    jsvalue(int a[10][9])
    {
      int i,j,k,n,temp;
      int b[9]=0;
       for(i=0;i<10;i++)

        temp=a[i][0];
         k=8; 
        n=0;
        for(j=8,j>=0;j--)     
    {    
          if(temp<a[i][j]) 
              b[k--]=a[i][j];
          if(temp>a[i][j])  
              b[n++]=a[i][j];
          if(temp==a[i][j])  
              b[n]=temp;     /*也可以b[k]=a[i][j];*/
    }
        for(j=0;j<9;j++)
      {
          a[i][j]=b[j];
          b[j]=0;}
      }
    }

  • 第21题:

    有以下程序程序的运行结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,SXB

    有以下程序

    程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,1,4,3,6,5,8,7,0,9,

    C.0,9,8,7,6,5,4,3,2,l,

    D.0,1,2,3,4,5,6,7,8,9,


    正确答案:A
    函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参。而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组C中的元素的值并没有变化,故选择A)。

  • 第22题:

    有以下程序

    main()

    {int a[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;

    for(i=0;i<4;i++)

    for(j=0;j<3;j++)

    for(k=j+1;k<4;k++)

    if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

    for(i=0;i<4;i++)printf("%d,",a[i][i]);

    }

    程序运行后的输出结果是

    A.1,6,5,7,

    B.8,7,3,1,

    C.4,7,5,2,

    D.1,6,2,1,


    正确答案:A
    解析:本题利用多重 for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列,最后输出对角线上的元素值。

  • 第23题:

    执行以下程序段后,s的值为( )。 int a[ ]={1,2,3,4,5,6,7,8,9},s=0,k; for(k=0;k<8;k+=2)s+=*(a+k);

    A.13

    B.16

    C.17

    D.45


    答案:B
    解析:数组a中的元素为:a[0]=1,a[1]=2,…,a[8]=9。k=0时,s=s+*(a+0)=0+1=1;k=2时,s=1+*(a+2)=1+3=4;k=4时,s=4+5=9;k=6时,s=9+7=16。

  • 第24题:

    单选题
    有以下程序 #include  main() {  int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}};  int i,j,k,t;  for(i=0;i   for(j=0;j    for(k=j+1;k     if(a[j][i]>a[k][i])     {      t=a[j][i];      a[j][i]=a[k][i];      a[k][i]=t;     }  for(i=0;i   printf("%d,",a[i][i]); } 程序运行后的输出结果是(  )。
    A

    8,7,3,1,

    B

    1,6,5,7,

    C

    4,7,5,2,

    D

    1,6,2,1,


    正确答案: C
    解析:
    先对二维数组的每列从小到大排序,然后输出对角线元素。答案选择B选项。