4.4 综合问题的解决 知识点题库

以下关于模块说法错误的是(    )
A . 一个xx.py就是一个模块 B . 任何一个普通的xx.py文件可以作为模块导入 C . 模块文件的扩展名不一定是 .py D . 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
  Python中读写文本文件的方法,其中打开用把外存储器里的文本文件(.txt)打开;存储用将内存中的数据存储到外存储器的文件中;关闭文件时一定要用关闭文件。
以下是凯撒密码的改进版,请将下划线处内容补充完整。

import os  #开始

def NewCaesar(m,n,t):

  z='';i=0

  while i<:

    tmp=

    if tmp in m:

      if ord(t[i])<=90:

        z+=n[m.find(tmp)]

      else:

        z+=n[m.find(tmp)].lower()

    else:

      z+=t[i]

    i+=1

  return z

m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

n='QWERTYUIOPASDFGHJKLZXCVBNM'

a=input('请输入<明文>a=')

b=NewCaesar(m,n,a)

print('对应的密文为:',b)

c=NewCaesar(n,m,b)

print('解密后明文为:',c)

if :

  print('加密解密成功!')

else:

  print('加密解密失败!')

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

os._exit(0)

#结束

通常是为了接近并达到所需的目标或结果,对过程进行重复,每一次重复得到的结果会被用来作为下一次的初始值。这种用计算机解决问题的一种基本方法是(     )。
A . 迭代法 B . 查找法 C . 分析法 D . 排序法
  为了便于游戏循环中反复调用,可以定义成一个函数,在绘制福字时,需要设置图像显示的位置,因此showfu中有两个参数,分别表示图像位置的
2018年我国流通领域重要生产资料市场价格数据的示例如图所示。编写Python程序,统计每个产品的最高价格和平均价格。

请回答下列问题:

  1. (1) 数据文件“data.asv"包含的数据列有,本次分析主要涉及的数据列有
  2. (2) 实现上述功能的Python程序如下,在划线处填入合适的代码。

    import pandas as pd

    df= pd. read _csv("data.csv")

    df_ g=

    df_ max=df_ _g["价格(元)"].max( )

    df_ mean=

    print(df_ max)

    print(df_ mean)

使用百度搜索关键词“春节”,将采集到的结果数据存储为chj.txt文件,如图1所示。处理chj.txt文件中的数据后生成chjfc.txt文件,如图2所示。

请回答下列问题:

  1. (1) 文件chj.txt中的数据为(选填:“结构化数据”或“非结构化数据”)。
  2. (2) 处理文件chj.txt中的数据生成chjfc.txt文件的过程,一般称为 。
  3. (3) 编写如下Python程序,读取chjf.txt文件中的数据,并统计其中各词语(2个及以上文字构成)出现的次数。在划线处填写合适代码,完善程序。

    txt = open('chjfc. txt', 'r', encoding='utf-8'). read( )

    words-txt. split( )

    word_ counts={ }

    for word in words:

        if len(word)==1:

        continue

    else:

              ①            #可以为1行或多行代码

        #使用word_counts计算词语word在words中出现的次数

    word_ list=list(word_counts. items( ))      #返回所有键值对信息,生成列表

    word_ list. sort(key-lambda x:x[1], reverse=True)     #按词语出现次数降序排序

    for i in range(20):

        word, times=      ②       

        print(word, times)

    程序中划线①处应填写的代码是

    程序中划线②处应填写的代码是

  4. (4) 去除步骤(3)程序的统计结果中的非特征词(如代词介词连词等)后,制作的标签云如图所示,标签云中最能表现文件chj.txt中文本特征的词有(写出3~5个)。

小张收集了近段时间要学习的英文单词,存储为“data.txt" 文件,格式如图所示。

data. txt 记事本

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

file='data.txt'

word_ c=[]

n=0

for word in open(file):

    if word[0:1]=='c':

       word_c. append(word)

       print(word)

                

print('字母c开头的单词个数:',n)

  1. (1) 划线处的代码为
  2. (2) 该程序段运行后,列表word_c中的数据为
函数 pyplot.figure的功能是(     )
A . 显示图片 B . 读入文件 C . 设置字体 D . 创建绘图区
请在空格处填写正确的代码,使程序完善。

实现功能:绘制y=x2-2x+ 1的图像

图片_x0020_100005

#加载numpy模块并限简洁的别名为np

import numpy as np

#加载matplotlib.pyplot模块并限简洁的别名为plt

import matplotlib.pyplot as plt

#x在-7到9之间,每隔0.1取一个点

x=np.arange(-7,9,0.1)

= x**2-2*x+1

plt.plot(x,)

plt.title('y=x*x-2*x+1')

plt.xlabel('x')

plt.ylabel('y')

plt.

N维数组对象ndarray是(    )的基本数据结构。
A . NumPy B . SciPy C . Pandas D . Matplotlib
搭建学校图书馆的“图书借阅系统”,需要在Python环境下使用SQLite数据库文件"test.db",其中数据表为“data_r”,该数据表字段结构如下表:

字段名

数据类型

备注

id

int

id字段数据为整型数值

name

text

name

sage

Datetime

字段数据为字符型

sscx

text

sage字段数据为日期时间型

  1. (1) 若要建立上述的data_ r数据表和字段,则SQLite数据库命令为:
  2. (2) 在data_r数据表中,使用sqlite3数据库命令添加如下记录。

    id

    name

    sage

    ssex

    1

    张婷

    2007- 1- 15

    其命令代码为:

  3. (3) 使用Python语言编写了名为ins._data和find_data的函数,分别实现在test.db文件中datar数据表插入一条记录和查找满足条件的记录,部分代码如下。

    import sqlite3

    conn = sqlite3.connec("test.db")      #打开数据库

    ""添加记录函数""

    def ins_ data(cu):

        sql1 = "insert into data_ r (id, name, ssex) values ('16', '张婷', '女')"

        cu.execute(sql)

        conn.commit( )

    "查询函数find(字段名,字段值)"

    def find_ data(cu, xb):

       

       

       

    print(cu.fetchall( ))        #输出满足条件的所有记录

    "主程序”

    cur = conn.cursor( )       #创建游标

    ins_ data(cur)             #在游标处插入记录

    xb="女"

    find_ data(cur, xb)       #调用函数查找字段ssex为变量xb的值

    cur.close( )#关闭游标

    conn.close( )

    请在方框划线划线处完善查询记录find_data( )函数的代码,实现在test.db文件中data_ r数据表查询所有ssex字段值为xb的所有记录数据,并输出满足条件的所有记录。

  4. (4) 使用Python语言编写程序。实现将data_r数据表中的id为1记录数据转换为JSON格式的数据,并保存到tusjson文件中。

    import json         #导入json库

    file = open('tus. json', 'w', encoding='utf-8')      #建立tusjson文件

    b=[ ]

    cur = conn.cursor( )

    #将游标cur设置为id=1的记录,代码略

       ①              #将游标处的记录存储到列表变量b中

    Json.dump(   ②   , file)      #dump是json函数,实现将数据保存到文件中

    file.close( )

    为实现上述功能,请在①处编写Python代码实现“将cur处的所有记录数据添加到列表变量b中”;划线②处应填入合适的代码为

小刘开发了“留言收集系统”的应用软件。为了实现收集论坛某用户名发表的所有留言,他使用Python外接Requests函数库(爬虫)来采集数据。系统将根据用户输入的关键字采集数据,并将采集到的数据存储到数据库中。
  1. (1) 采集后的数据是一个有序的文本数据,系统根据关键字进行搜索,并将搜索到的时间和留言内容保存到result数据表中。请你为该数据表设计字段,写出至少3个字段名称及其数据类型。

    字段名

    数据类型

    备注

     

       

     

       

     

       
  2. (2) 编写FlaskWeb框架的Python程序,实现输入关键字,单击“搜索”按钮,显示result数据表中字段key值为所输入关键字的所有记录数。输出界面如图所示。

    请完善横线处的代码,实现将resut数据表中字段key值为txt(网页表单输入的关键字字符)的记录保存到列表变量rec中,并统计数量保存到sum中。

    from flask import Flask, render_template

    import sqlite3

    #打开Flask网页模板和打开数据库并建立conn对象等代码略

    app= Flask(_ name_ )

    app.config['SECRET_KEY']='xxx_Sss_ 1276589'

    bootstrap = Bootstrap(app)

    class NameForm(FlaskForm):

        txt = StringField('查询:', validators=[DataRequired( )])

        submit = SubmitField('搜索')

    @app.route(/)

    @app.route('/cx', methods=['GET', 'POST'])

    def index_cx( ):

        rec=[ ]

        sum= 0

    cu = conn.cursor( )   #建立游标对象

    rec =        #使用fetchall( )函数将结果保存到列表rec中

    sum =       #统计列表变量rec的数量

    conn.commit( )       #执行数据库语句

    ru.close#关闭游标对象

    conn.close

    return render_ template('t4.html', form-myform, txt=sum)

    if _name_ ='_main_':

    app.run( )

从离地500米的空中自由落下一个小球,求从开始落下的时刻起,小球在最后1秒内的位移(重力加速度g以9.8米/秒2计)。程序如下,回答以下问题。

import math

h = 500

g = 9.8

t = math.sqrt(2*h/g)

hx = g*(t-1)*(-1)/2

hh = h-hx

print(“小球最后1秒下落的位移是:”,hh,“m”)

  1. (1) 该程序代码中使用了库,库的名称是_____。
    A . Limport B . math C . sqrt D . print
  2. (2) 该程序代码中使用了常量,它的名称是_____。
    A . h B . t C . 500 D . hh
  3. (3) 该程序代码中使用了变量hh,它的数据类型是_____。
    A . int B . float C . 列表 D . 字符串
  4. (4) 该程序中print(“小球最后1秒下客的位移是:”,hh,“m”),其中“m”的数据类型是_____。
    A . int B . float C . 列表 D . 字符串
  5. (5) 该程序使用了物理公式计算空中自由落下个小球的位移,采用的算法是_____。
    A . 解析算法 B . 穷举算法 C . 递归法 D . 选择排序
小明参加课外活动小组,对盆栽中某一枝条做好标记,记录28天内该枝条的生长情况,每周日记录一次,四次记录结果分别为8.8cm、10.1cm、10.9cm、11.4cm。他使用Python编码。制作了关于枝条长度(单位:cm)的柱形图,代码及柱形图如下图所示,代码空白处应填。 (       )

A . "8.8,10.1,10.9,11.4" B . "8.8","10.1","10.9","11.4" C . 8.8,10.1,10.9,11.4 D . [8.8,10.1,10.9,11.4]
海面波浪实际上是各种不同波高、周期、行进方向的多种波的无规则组合。为了海洋工程设计的方便,实际工程中常采用具有某种统计特征值的波作为代表波,其中有效波(三分之一大波)应用较为广泛。将任一由n个波浪组成的波群的波高由大到小依次排列,其中前面⌊n/3⌋个波的平均波高即为有效波高。编写Python程序,实现有效波高的计算,结果四舍五入保留两位小数并输出,程序运行结果如下图所示:

请在划线处填入合适的代码。

s=input("请输入波群(m)")

a=[]

s=s+","

for j in range(len(s)):

    if s[j] == ",":

        t = float(s[i:j])

        a.append(t)       #append方法用于在列表末尾添加新元素

        

a.sort(reverse = True)    #将a列表中的元素从大到小排列

sumbg=0

for k in range(len(a)//3):

    sumbg = sumbg + a[k]

print("有效波高(m):",aver)

小明编写了一个保护照片隐私部分的程序。功能如下:依次输入左上角和右下角的坐标值(x1,y1,x2,y2,),对这块区域的像素进行加工处理。实现上述功能的Python程序如下,请回答下列问题:
  1. (1) 请在划线处填入合适代码。

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    from random import random

    s=input("依次输入左上角和右下角的坐标值(以‘,’分隔,以‘,’结尾):")

    w=[];h=[];k=0;t=0

    for i in s:

        if i==",":

            if k%2==0:

                w.append(t)    #append方法用于在列表末尾添加新元素

            else:

                h.append(t)

            t=0;k=k+1

        else:

           

    print(w,h)

    im =  #打开图像y.jpg

    pix=im.load()

    for i in range():

        j= h[0]

        while j<=h[1]:

            R,G,B=pix[i,j]

              pix[i,j]=(int(random()*0.8*R),int(random()*0.8*G),int(random()*0.8*B))

            j+=1

    plt.figure("y1")          #指定当前绘图对象

    plt.imshow(im)            #显示图像

    plt.axis("off")           #关闭图像坐标

    plt.show()                #弹出包含了图片的窗口

  2. (2) 调试程序时,输入数据“10,10,90,90”,能调试成功吗?(选填:能/不能)
现有一关于2021年某酒店线上销售业绩源数据清单,包括客服、月份、订单金额等相关数据的Excel文件“销售.xlsx”,如“图a”所示。

图a

使用Python读取表格中的数据,代码如下,根据题意填写划线部分:

import pandas as pd

df=pd.read_excel("销售.xlsx")

print() #筛选出商品原价大于等于1000的记录。

df1=df.groupby("客服",as_index=False)["订单金额"].sum()

df1.rename(columns={"订单金额":"订单总额"},inplace=True)

df2=

print( df2 ) #按“订单总额”降序排序后输出前10条记录

#以下代码功能为:绘制“各月份销售额”的折线图,结果如图b所示。

图 b

import matplotlib.pyplot as plt

df3=df.groupby("月份",as_index=False)["订单金额"].sum()

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

plt.title('各月份销售额')

plt. (df3["月份"],df3["订单金额"])

plt.xlabel('各月份')

plt.ylabel("订单金额")

plt.show( )

小明收集了本市新冠疫苗接种点的相关信息,存储在“ymjz.xlsx”文件中,如图a所示,编写Python程序对数据进行处理。

图a

  1. (1) 实现相关功能的程序如下,请在划线处填入合适的代码:

    import pandas as pd

    import matplotlib.pyplot as plt

    df=pd.read_excel("ymjz.xlsx")

    #输出功能:输出接种台数大于2的接种单位名称

    df1=df[ ]

    print(df1.单位)

    #统计功能:统计各区县的医务人员数量

    g=df.groupby("区县",as_index=False)["医务人员数"]

    df2=

    print(df2)

    #分析功能:分析本市各类别(常规、方舱、医疗临时点、校企临时点、其他)接种单位的数量情况并制作图表呈现

    g=df.groupby("类别",as_index=False)

    df3=g.count()

    df3=

    plt.   (df3.类别,df3.单位)

    plt.show()

  2. (2) 为得到图b所示的图表,程序代码中加框处填入的代码组合可能是              

    图b

    A . 甲 丙 B . 甲 丁 C . 乙 丙 D . 乙 丁
某微课平台根据点击量给用户自动推荐微课。从平台中获取的部分点击量数据如图所示,为了筛选出点击量前5的微课,程序划线处应填入的代码为:(    )

import pandas as pd

df=pd. read_excel ('微课点击量.x1sx')

df1=df. group by("科目", as_index=False). sum()

df2=                

A . df1.sort_index ("点击量"). head(5) B . df1.sort_index ("点击量", ascending=False). head(5) C . df1.sort_values ("点击量"). head(5) D . df1.sort_values ("点击量", ascending=False). head(5)
最近更新