当前位置: 高中信息技术(信息科技) /浙教版(2019) /必修1 数据与计算 /第三章 算法的程序实现 /3.2 Python语言程序设计
试卷结构: 课后作业 日常测验 标准考试
| 显示答案解析 | 全部加入试题篮 | 平行组卷 试卷细目表 发布测评 在线自测 试卷分析 收藏试卷 试卷分享
下载试卷 下载答题卡

浙教版(2019)高中信息技术 3.2 Python语言程序...

更新时间:2021-11-29 浏览次数:190 类型:同步测试
一、选择题
  • 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. (2022高一下·儋州期末) 根据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. (2021高二上·东台月考) 如下程序段

    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. (2021·模拟) input( )函数的返回结果是(  )。
    A . 数值型 B . 集合 C . 列表 D . 字符串
  • 29. 下列标识符中合法的是(   )
    A . 3df B . f3e C . 3-Q D . %er
  • 30. (2021高一上·昆明期中) 下列选项都是属于高级语言的是(    )
    A . 汇编语言、机器语言 B . 汇编语言、Basic语言 C . Basic语 言、Python语言 D . 机器语言、Python语言
二、简答题
三、操作题
  • 35. 利用身份证号码可以推算出年龄,性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为出生年份整除12所得余数与下表所对应的值取得。

    4

    5

    6

    7

    8

    9

    10

    11

    0

    1

    2

    3

    1. (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. (2) 在上述程序代码中,变量year的数据类型为             
      A . 整型 B . 实型 C . 字符串型 D . 布尔型
    3. (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. (1) 若小明总共有7个桃子,则他最后可以吃到个桃子。
    2. (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. (1) 请在划线处补充代码。
    2. (2) 请用实线将下列访问的“在线加法练习系统”功能的URL与相应的路由及视图函数连接起来。(答案填写格式如:A-d 、B-a)

      A.//127.0.0.1:5000/top

      toplist()

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

      B.//127.0.0.1:5000/

      exercise()

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

      C.//127.0.0.1:5000/exercise

      introduce()

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

      D.//127.0.0.1:5000/instance

      index()

      d.@app.route("/")

                                                         

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

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

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

    1. (1) 如果明文为“EAa:H”密钥为3,则结果密文为
    2. (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)

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

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

        ①   

    for i in    ②   

           ③   

    print(s)

    1. (1) ①处的语句是                 
      A . s=0 B . s=1 C . i=0 D . i=1  
    2. (2) ②处的语句是                 
      A . range(35,500) B . range(35,500,2)    C . range(35,501) D . range(35,501,2)
    3. (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: #

微信扫码预览、分享更方便

试卷信息