粤教版(2019)信息技术必修一第四章 程序设计基础 综合练习

试卷更新日期:2022-11-25 类型:单元试卷

一、选择题

  • 1. 有如下Python程序段:

    import random num=[]

    for i in range(0,6):

        n=random.randint(1,10)

        num.append(n)

        for i in range(1,6):

            if i%2==1 and num[i]>num[i-1] :

                num[i],num[i-1]=num[i-1],num[i]

            else:

                num[i]=num[i]-1

    print(num)

    运行后列表中的值可能是(    )

    A、11,1,7,5,4,3 B、5,3,6,4,0,2 C、4,1,7,4,4,0 D、9,8,1,1,5,4
  • 2. 哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。采用Python验证100以内哥德巴赫猜想的正确性,则划线处的代码为:(    )

    import math

    def isprime(num):

    i=2

    while i<=int (math.sqrt(num)):

    if num % i==0:

    return False

    i+=1

    return True

    n=6

    while n<=100:

    for j in range(3,int (n/2)):

    if ____________________:

    print (n,'=',j, '+',n-j)

    n+=2

    A、isprime(j) and isprime(n-j) B、isprime (j) and isprime(j+1) C、isprime(n) and isprime(j) D、isprime(j) and isprime(j-1)
  • 3. 在Python中,以下赋值语句格式不正确的是(     )。
    A、x,y=y,z B、x,y=1,2 C、x=y=30 D、x+y=z
  • 4. 执行下列程序后,屏幕上输出的结果是(     )

    for i in range(5, 1):

      print(i,end=" ")

    A、  5  4  3  2  1 B、  4  3  2  1 C、  1  2  3  4  5 D、没有结果
  • 5. 下面的Python程序段运行后的输出结果是(      )

    x=24

    if  x%2=1:

    print(x,"是奇数。")

    else:

    print(x,"是偶数。")

    A、24是奇数。 B、x是偶数。 C、x是奇数。 D、24是偶数。
  • 6. 我国古代数学家张丘建在《算经》一书中提出了如下的数学问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?用Python编写程序如下:

    for x in range(0,21):

    for y in range(0,34):

    方框内代码可以为:()

    A、 B、 C、 D、
  • 7. 某超市用13位数字标识商品信息,其中8~12位是表示商品名的代码,用字符串变量s存储商品 的信息码(例如:s="9787100109796",商品名代码是“10979”),下列Python表达式中能取出 商品名代码的是(    )
    A、s[-6:-1] B、s[7:11] C、s[8:12] D、s[7:-2]
  • 8. 下列函数中,能实现将数字转变为字母功能的函数是()
    A、len() B、chr() C、ord() D、print()

二、填空题

  • 9. 有10个数据34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,当程序运行结束时,输出的值是:

    list= [34,22, 101,8,14,88,24,17,54,7]

    num=list[0]

    for i in range(1,10):

      if list[i]<num:

        num=list[i]

    print(num)

  • 10. 在Python中,(13%3)**2的结果是
  • 11. Python表达式5%2+9//4的运算结果是
  • 12. 使用python编写游戏时,需要导入模块。
  • 13. Python算术运算中求余数运算符用表示。

三、判断题

  • 14. 若有a=[1,2,3,4,5],则表达式a[2]+a[4]的值为6。
  • 15. 常见的顺序结构语句有输入语句、输出语句和赋值语句。
  • 16. 循环结构表示程序中各步操作按出现的先后顺序执行。
  • 17. Python程序语言中的“=”和数学上的“=”是一回事。
  • 18. Python语言的表达式中,“%”是取模算术运算符。

四、操作题

  • 19. 小王收集“2020年全省各市、县城乡居民收入情况”数据,保存在D盘下“2020年城乡居民收入情况.xlsx”Excel文档,如图-1所示。现在利用pandas模块进行数据处理。

    计算各县市区的“城镇居民收入”(城镇居民收入=工资性收入+经营净收入+财产净收入+转移净收入)

    根据“城镇居民收入”值对各市县区进行排位(值大在前,值相同位次相同)

    根据全省十一城市的“城镇居民收入”画出图表,如图-2所示。

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

    import pandas as pd

    import matplotlib.pyplot as plt

    df = pd.read_excel

    n = len(df)

    sj = 0

    for i in df.columns[4:]:

        sj =

    df["城镇居民收入"] = sj

    #按“城镇居民收入”为关键字降序排序

    df = df.sort_values("城镇居民收入",ascending = False)

    df = df. reset_index(drop=True)    #重置索引

    df["排位"] = 1

    for i in range(1, n):

        if df.at[i,"城镇居民收入"] == df.at[i - 1,"城镇居民收入"]:

            df.at[i,"排位"] =

        else:

                df.at[i,"排位"] =  i + 1

    df1 = round(df.groupby("市区", as_index = True).mean(),1) #按“市区”为关键字分组求平均值并保留1位小数,as_index = True表示将“市区”作为索引

    plt.figure(figsize=(10,6))

    plt.rcParams['font.family']=['SimHei']           #显示汉字

     #绘制水平柱形图(条形图)

    plt.title('2020年全省各市城镇居民收入情况',fontsize = 20) #设置图表标题文字

    plt.show()

    (2)、方框处代码应为(   )
    A、plt.barh(df1.市区,df1.城镇居民收入) B、plt.barh(df1.index,df1.城镇居民收入) C、plt.plot(df1.市区,df1.城镇居民收入) D、plt.plot(df1.index,df1.城镇居民收入)

五、简答题

  • 20. 编写程序。一辆动车即将穿越隧道,已知隧道全长a米,动车车长为300米,动车的速度为b米/秒。请编写一个程序,根据用户输入的数值,计算并输出动车完全通过隧道需要花费的时间。

    要求:屏幕提示用户输入隧道长度和动车的行驶速度(输入时大于0 的浮点数),输出火车完全通过隧道需要花费的时间。 提示:时间=(隧道长度+动车长度)÷ 动车速度,单位为秒。

  • 21. 苹果和虫子问题。

    你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

    输入:

    输入仅三行,包括n,x和y(均为整数)。

    输出:

    输出也仅一行,剩下的苹果个数

    样例输入:

    10

    4

    9

    样例输出:

    7