浙教版(2019)高中信息技术 3.2 Python语言程序设计 通关练习

试卷更新日期:2021-11-25 类型:同步测试

一、选择题

  • 1. 下列选项中,不是Python赋值语句的是(    )
    A、a,b = 1,3 B、a = a + 1 C、a = b = 1 D、a + 1 = 1
  • 2. Python中变量的命名要满足一定的规范,以下可以用作变量名的是(     )
    A、3dmax B、import C、Student_5 D、abc#123
  • 3. 以下 Python程序代码段的运行结果是(    )
    a = 3
    b = a * 4
    #b = b / 6
    print(b)
    A、3 B、0.5 C、12 D、2
  • 4. 以下编程语言中执行效率最高的是(    )
    A、汇编语言 B、机器语言 C、Python语言 D、C++语言
  • 5. 下列Python语句书写正确的是(    )
    A、a,b=b,a B、PRINT(' a=',35) C、n= int(input("n =5") D、a=3/{[45-2]*11}
  • 6. 某市实施交通管制,早晚高峰根据车牌号单双号限行。车牌尾号为单号的双号日限行,车牌尾号为双号的单号日限行。若车牌尾号不是数字,则从车牌号中取最后一位数字。

    实现上述功能的Python程序代码如下:

    chepai = input('请输入您的车牌:浙A')

    for i in range(         , -1):

       if '0' <= chepai[i] <='9':

          lastnum = int(chepai[i])

          if lastnum % 2 == 0:

             print('车牌尾号双号,单号日限行!')

          else:

             print('车牌尾号为单号,双号日限行!')

    break

    划线处应填入代码是(   )

    A、len(chepai)-1,-1 B、len(chepai),0 C、len(chepai)-1,0 D、1,len(chepai)+1
  • 7. 小张收集了近阶段要学习的英文单词,存储为“data.txt”文件,格式如图所示。

    处理“data.txt”文件中英文单词的 Python 程序段如下:

    file=“data.txt”

    n=0

    for word in open(file): #打开文件准备读

        if word[0:1]=='c': #word每次读到第一行信息,word[0:1]则是当前行字符的第1个字符

            n=n+1

            print(n)

    运行该程序段后,输出的值为(   )

    A、1 B、2 C、3 D、5
  • 8. 中国大陆居民身份证由18位数字组成,其中第7至14位数字代表居民的出生年月日,身份证号码现保存在字符串变量s中,小张尝试对身份证号码中的出生年月日进行提取,以下表达式不正确的是(     )
    A、s[7:15] B、s[6:14] C、s[-12:-4] D、s[6:-4]
  • 9. 以下Python程序段执行后,输出结果为(    )。

    m= 29

    if m%3!=0:

        print (m, "不能被3整除")

    else

        print (m,“能被3整除")

    A、m不能被3整除 B、29不能被3整除 C、29能被3整除  D、m能被3整除
  • 10. 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。构成DNA的碱基共有 4 种,分别为腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。在两条互补碱基链的对应位置上,A总是和T配对,G总是和C配对。编写Python程序实现如下功能: 随机产生一条单链上的碱基序列,输出其对应的互补链上的碱基序列。(    )

    import random

    DNA=['A','G','T','C']

    s=''

    for i in range(20):

            ①       

    print(s)

    match={'A':'T','T':'A','G':'C','C':'G'}

    t=''

    for i in range(20):

            ②       

    print('互补链:',t)

    A、①s=random.choice()+s         ②t= t+match[i] B、①s=s+random.choice(DNA)    ②t= t + match[s[i]] C、①s=s+random.choice()          ②t= t + match[s[i]] D、①s=random.choice(DNA)+s     ②t= t + match[i]
  • 11. 根据Python中变量命名遵循的规则,正确的是(    )
    A、char21 B、2020Py C、Python D、name.Ch
  • 12. 在用Python编程对数据进行分析的时候,代码pandas.DataFrame.sum执行的操作是(   )
    A、返回所有列的和 B、返回所有行的和 C、返回所有数据中的最大值 D、返回所有数据中的最小值
  • 13. 我们在用Python进行数据分析的时候,经常会用到pandas库中的DataFrame,这是类似于(     )的数据结构 。
    A、一维表格 B、二维表格 C、三维表格 D、四维表格
  • 14. 小张是一个程序员,他和其他同事共同编写一个Python程序。他想要为自己编写的那部分程序代码添加备注,以便其他同事能看懂他的程序代码,你应该怎么做(   )
    A、将备注置于#符号后添加 B、将备注置于括号中添加 C、将备注添加到代码的第一行之前,以*号标注 D、将所有备注添加到代码的最后
  • 15. 汉诺塔游戏中,如果有n个木盘,第n个木盘是最大的木盘,用递归的方法求解,将n个木盘从A杆移动到C杆,需要借助中间的B杆。只要超过一个木盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定义函数时,用到了4个参数: hanoi(n,s,m,t), n表示需要移动的盘子数量,s表示盘子的起始杆,m表示中间过渡杆,t表示目标杆,如图4.3.4所示。

    阅读下列程序。

    def hanno(n,s,m,t):

        if n==1:

            print(s,'-->',t)  

        else:

            hanno(n-1,s,t,m)

            print(s,'-->',t)

            hanno(n-1,m,s,t)

    #主程序

    n=int(input('请输入汉诺塔的层数:'))

    hanno(n,'A','B','C')

    input("运行完毕,请按回车键退出...")

    下列说法错误的是(    )

    A、此递归没有终止结束条件 B、print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上 C、hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上 D、hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上
  • 16. 现有如下python程序段:

    for i in range( 6 ):

        p.append( int( random() * 10 ) + 1 )

    for i in range( 2, 6 ):

        if i % 2 == 1 and p[ i ] % 2 == 0:

            p[ i ] += p[ i - 1]

        elif i % 2 == 0 and p[ i ] % 2 == 1:

            p[ i ] -= p[ i - 1]

    执行该程序段后,在下列选项中,列表p中的元素值不可能的是(    )

    A、1, 2, 3, 4, 7, 2 B、1, 2, 14, -9, -5, 8 C、6, 8, 1, 4, 6, 10 D、6, 4, 14, -7, 3, 8
  • 17. 能去除字符串中空格的方法是(     )
    A、lstrip( ) B、upper() C、startswith( ) D、ljust( )
  • 18. 已知n是一个两位的正整数,则下列表达式能表示n的十位数字的是(     )
    A、n % 10 B、n /10 C、n/100 D、n//10
  • 19. 如下程序段

    a = 2

    b = 1

    while a >= b:

          b=a * b

          a=2 * a

    执行后,a、b的值分别为(    )

    A、4、2 B、16、64 C、8、8 D、2、1
  • 20. 一名高中生在以下程序输入自己的年龄会得到的结果是(    )

    s = input("请输入一个数字")

    print("s是个小于10的数字" if int(s)<10 else "s是大于10的数字")

    A、请输入一个数字 B、s是个小于10的数字 C、s是大于10的数字 D、自己年龄的数值
  • 21. 下面的程序段运行后的结果为(    )

    s=0

    for i in range(1,6,2):

      s=s+i

    print(s)

    A、15 B、10 C、12 D、9
  • 22. 下列选项中,属于Python输出函数的是(   )。
    A、random() B、print() C、sqrt() D、input()
  • 23. 有以下程序段:

    a,b,c,d=input( ).split( )

    a=int(a)

    b=int(b)

    c=int(c)

    d=int(d)

    print(c)

    如果输入的是4 3 6 9,则程序运行的结果为(   )

    A、6 B、4 C、3 D、9
  • 24. 计算机能直接识别和执行的的语言是(     )
    A、汇编语言 B、机器语言 C、高级语言 D、C语言
  • 25. Python输入函数为(   )。
    A、time() B、round() C、input( ) D、print()
  • 26. 以下叙述中正确的是(   )。
    A、Python 3.x与Python 2.x兼容 B、Python语句只能以程序方式执行 C、Python是解释型语言 D、Python语言出现得晚,具有其他高级语言的一切优点
  • 27. 在Python语言中,数据的输入是通过(  )来实现的。
    A、input( )函数 B、print( )函数 C、output( )函数 D、abs( )函数
  • 28. input( )函数的返回结果是(  )。
    A、数值型 B、集合 C、列表 D、字符串
  • 29. 下列标识符中合法的是(   )
    A、3df B、f3e C、3-Q D、%er
  • 30. 下列选项都是属于高级语言的是(    )
    A、汇编语言、机器语言 B、汇编语言、Basic语言 C、Basic语 言、Python语言 D、机器语言、Python语言

二、简答题

  • 31. 编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。
  • 32. 高级语言的编译过程和解释过程各有什么优势和不足。
  • 33. 利用python程序设计语言,编写一个输出1-10以内的偶数(包含10)的代码。
  • 34. 列举Python程序设计语言中,IF语句的三种常见格式。

三、操作题

  • 35. 利用身份证号码可以推算出年龄,性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为出生年份整除12所得余数与下表所对应的值取得。

    4

    5

    6

    7

    8

    9

    10

    11

    0

    1

    2

    3

    (1)、实现上述功能的部分程序代码如下,请在划线处填入合适的代码。

    ID=input("请输入18位身份证号: ")

    sx=[’鼠’,’牛’,’虎’,’兔’,’龙’,’蛇’,’马’,’羊’,’猴’,’鸡”,’狗’,’猪’]

    #计算年龄:

    year=int(ID[6:10])                # 取出身份证中的出生年份

    age=    # 计算该身份证主人当年年龄(取2021)

    #判断性别:

    F_ sex-int( )               # 取出身份证中用于判断性别的第  17  位数字字符

    If  # 判断性别的的数字 奇数 为 男性 , 偶数 为 女性

    sex="男"

    else:

    sex="女"

    #判断生肖:

    F_ sx=()%12

    anl=sx[F_ sx]

    print("年龄是: ",age,"性别是: ",sex,"生肖是: ", an1)

    (2)、在上述程序代码中,变量year的数据类型为             
    A、整型 B、实型 C、字符串型 D、布尔型
    (3)、以下代码与程序加框处代码功能相同的有             
    A、int[ID(16)] B、int(ID[:-1]) C、int(ID[-2:-3:-1]) D、int(ID[-2:-1]) E、int(ID[16]) F、int(ID[17:18])
  • 36. 小明有 n 个桃子,吃完后每三个桃核可以换一个桃子,计算小明总共能吃到几个桃子。
    (1)、若小明总共有7个桃子,则他最后可以吃到个桃子。
    (2)、部分伪代码如下所示,下列加框处有误,请修改伪代码中的错误。

    输入桃子数量n

    count←n

    while    

    count = count + n // 3

      

    输出("小明总共能吃到:", count, "个桃子")

  • 37. 小智在分析应用功能组成后,根据功能需求编写了如下网络应用Python代码:

    from flask import Flask,render_template,request

    app =                

    @app.route("/")

    def index():

    #显示“主页”页面,代码略

    @app.route("/introduce")

    def introduce():

    #显示“介绍”页面,代码略

    @app.route("/exercise",methods=["GET","POST"])

    def exercise():

    #显示“练习”页面,代码略

    @app.route("/top")

    def toplist():

    #显示“排行榜”页面,代码略

    if __name__ == "__main__":

    app.             

    (1)、请在划线处补充代码。
    (2)、请用实线将下列访问的“在线加法练习系统”功能的URL与相应的路由及视图函数连接起来。(答案填写格式如:A-d 、B-a)

    A.http://127.0.0.1:5000/top

    toplist()

    a.@app.route("/top")

    B.http://127.0.0.1:5000/

    exercise()

    b.@app.route("/exercise",methods=["GET","POST"])

    C.http://127.0.0.1:5000/exercise

    introduce()

    c.@app.route("/introduce")

    D.http://127.0.0.1:5000/instance

    index()

    d.@app.route("/")

                                                       

    (3)、在Flask Web应用框架中,可以通过网页模板来显示内存变量的值或对象等,以下在模板文件index.html中用于显示内存变量xxjs值的正确代码为           
    A、{{xxjs}} B、{{#xxjs#}} C、{{%xxjs%}} D、{%xxjs%}
  • 38. 某加密算法的加密部分Python程序段如下:

    def encrypt(msg,key):

    result = ""

    size = len(msg)

    for i in range(0,size):

        result = result + msg[(i - key) % size]

    return result

    msg = input("请输入明文:")

    key = int(input("请输入密钥:"))

    re =              

    print(re)

    (1)、请在划线处补充代码。
    (2)、如果输入的msg为“cdef”,key为3,那么输出的结果为
    (3)、这种加密机制称为(选填字母:A .置换密码;B .换位密码;C .简单异或密码)。
  • 39. 替代密码是明文中的每个字符根据密钥替代成密文中的另一个字符,替代后的各个字母保持原来的位置。

    例:使用凯撒密码对明文“yza”进行加密的过程:“yza”→121 122 97→…→ 98 99 100 →“bcd”

    要求:如果明文是大写字母则需要转小写。如果明文是其它字符则不作任何处理。例如:明文为“ABc,z”密钥为3,则结果密文为“def,c”

    (1)、如果明文为“EAa:H”密钥为3,则结果密文为
    (2)、程序实现如下,请在划线处补充代码。

    def change(code,key):

       #change函数功能:实现要进行加密的字符code由大写字母转小写字母

    #判断转换后的字符code是否为小写字母,若是则进行加密

      

       m=ord(code)

       return chr(m)

    code=input(“请输入要加密的明文”)

    key=int(input(“请输入密钥”))

    code_new=“”

    for i in code:

       code_new+=change(i,key)

    print(code_new)

四、判断题

  • 40. python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。
  • 41.    需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。
  • 42. 实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。
  • 43. 在Python语言环境下,For循环语句中的循环体在书写时需要缩进,且必须缩进四个空格。
  • 44. 列表的数据项不需要具有相同的类型,与字符串的索引一样,列表索引从0开始。

五、填空题

  • 45. 阅读下列程序,写出运行结果

    警察抓小偷,有四个嫌疑人甲乙丙丁,其中一人是小偷。甲说“不是我”,乙说“是丙”,丙说“是丁”,丁说“丙在冤枉人”。他们中只有一人说了假话,编程判断谁是小偷。(注:在Python运算中,True的值为1,False的值为0)

    persons=[‘甲’,‘乙’,‘丙’, ‘丁’]

    for thief in persons:

    flag =(thief!=‘甲’)+(thief==‘丙’)+(thief ==‘丁’)+(thief!=‘丁’)

    if flag == 3:

    print(thief)

    运行结果是:

  • 46. 阅读以下程序,写出程序运行结果。

    def jc(n):

    s=1

    for i in range(2,n+1):

        s=s*i

        return s

        total=jc(4)    #调用jc函数

    print(total)

    程序运行后,其输出结果为

  • 47. 程序分析题:阅读程序写结果

    s=0

    for k in range(1,7,2):

       s =s+k

    print (s)

    输出s的值是

  • 48. 程序分析题:分析完善程序

    以下是求解一元二次方程( a=0)的主要源程序,请你补全代码:

    import math

      a=int(input(" a="))

      b=int(input("b="))

      c=int(input("c="))

      d=    #一元二次方程根的判别式

    if d>0:

      x1=(-b+math.sqrt(d))/ (2*a)

      x2=(-b-math.sqrt(d))/(2*a)

      print("x1=",x1)

      print("x2=",x2)

    if :

       print("x1=x2=",-b/(2*a))

    if d<0:

       print("无实数解!")

    请补充完成上述程序:

  • 49. 根据以下程序代码完成下列小题。

    程序描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。

    程序要求输入一个正整数(不为1),将经过处理得到1的过程输出来。代码如下:

    x=int(input('输入一个正整数:'))

    while     ①    

      if       ②  

        x=x/2

               ③      

      else:

             ④    

             ③    

    if x==1:

           ⑤     

    (1)、①处的语句是          
    A、x>1 B、x>2 C、x!=1: D、x!=0:
    (2)、②处的语句是           
    A、x%3=0: B、x%2=0: C、x%3==0: D、x%2==0:
    (3)、③处的语句是               
    A、print(‘x/2’) B、print(‘x’) C、print(x) D、print(x/2)
    (4)、④处的语句是               
    A、x= x/2 B、x= x/2+1 C、x=x*3+1 D、x=3x+1
    (5)、⑤处的语句是               
    A、pass B、exit C、continue D、Break
  • 50. 根据以下程序代码完成下列小题。

    程序描述: 计算正整数35到500之间的所有奇数的和。代码如下:

        ①   

    for i in    ②   

           ③   

    print(s)

    (1)、①处的语句是                 
    A、s=0 B、s=1 C、i=0 D、i=1  
    (2)、②处的语句是                 
    A、range(35,500) B、range(35,500,2)    C、range(35,501) D、range(35,501,2)
    (3)、③处的语句是                
    A、s=s+1 B、i=i+1 C、s=s+i D、i=s+i
  • 51. 程序运行后,从键盘输入781,结果是

    x=int(input("请输入一个正整数:"))

    if x%2==0:

        print(x,"是偶数.")

    else:

        print(x,"是奇数.")

  • 52. 表达式5>=5 and 0!=0的值是:
  • 53.    用Python语言实现加密算法时,明文和密文都被抽象为类型的数据。
  • 54. Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码在横线处填写内容

    while True:

        for event in pygame.event.get():  #

            if event.type==pygame.QUIT:          #     

                sys.exit()                  #退出程序

            if event.type==pygame.MOUSEBUTTONDOWN: #