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

导入模块的方式错误的是(   )
A . import mo B . from mo import * C . import mo as m D . import m from mo
下面是随机点名器的代码设计,大致可分为四个模块。一是导入相应模块,二是窗体界面元素的产生及布局和有关属性设置,三是打开“点名册.txt”,读取并保存姓名数据,四是设计两个按钮的单击事件代码。以下是部分代码,认真阅读,补充完成下列程序。

from ①         #导入tkinter模块

import tkinter.messagebox           #导入弹窗库模块

import random                       #导入随机数模块

import datetime                     #导入日期时间模块

root = Tk()                         #创建主窗口

root.title("随机点名器")            #设置窗口标题

root.geometry('808x280+300+200')    #设置窗口大小及位置

root.resizable(0,0)                 #禁止调整窗口大小

var=StringVar()                     #定义StringVar()类型

var1=StringVar()

c=②("点名册.txt",'r')          #以只读模式打开文件

a=c.readlines()                     #读取文件全部内容

c. ③                     #关闭文件

b=[]                                #b作为列表a的备份

要达到在窗口显示不同位置的福字,需要完成两个步骤:①在新的位置上;②把原来的图像。要“擦掉”某个图像,可以选择它,通常采用或者用来覆盖的方式。
Data.csv文件中数据包含“图书编号”“购入价格”“购入日期"等字段、若干个数据行,下列程序段执行后对象books_ data 中的数据将(     )

import pandas as pd

books_ data=pd.read_ _csv('data.csv')

books_ data.drop("购入价格",axis=1)

books_ data.sort_ _values("图书编号",inplace=True)

A . 按“图书编号”升序排列 B . 仅包含“图书编号”“购入日期"数据列 C . 减少“购入价格”数据列 D . 增加一个数据行,其中“购入价格”值为“1”
某DataFrame对象df,包含“商品编码”“销售价格”“销售日期”等数据列。下列语句中,能将df对象中的数据以“商品编码"为关键字降序排序的是(    )
A . df.sort_ index( axis=1, ascending=True) B . df.sort _values('商品编码', ascending =False) C . df.sort _values('商品编码', ascending=True, inplace=True) D . df.sort_ values('商品编码', ascending=False, inplace=True)
使用Python编程研究一组幂函数的图象问题,程序如下。

import matplotlib.pyplot as plt

import numpy as np

# numpylinspace(start, stop, num=50)

#产生从start到stop的等差数列,num为元素个数,默认50个

x = np. linspace(-1,1,50)

forn in [1/3,1/2,1,2,3]:

    y=x**n

               

plt. show( )

请回答下面问题:

  1. (1) 划线处应填写的语句是
  2. (2) 程序运行后,绘制了个函数的图象,分别为
导入模块需要使用语句。
在BXY中输入代码如图所示,Music模块为MicroPython所提供播放音乐的方法。

代码中ragsatastop,tep)函数表示从start开始到stop结束的范围内,进行步长step的变化。标号5所在行代码表示设置音乐的频率,并循环改变,则每次循环音乐频率的变化是(     )

A . 增加880 B . 减少16 C . 增加1760 D . 增加16
阅读如图所示的绘制x5+x4+x-3=0图像的程序代码。

import numpy as np  

import matplotlib.pyplot as plt  

x=np.arange(-1,2,0.01)  

y=x**5+x**4+x-3  

plt.plot(x,y)       

plt.title('x^5+x^4+x-3')  

plt.xlabel('X')      

plt.ylabel('Y')      

plt.show( )          

下列选择错误的是(    )

A . arange(-1,2,0.01)表示在-1,2之间,每隔0.01取一个点 B . plt.plot(x,y) 表示绘制图像 C . plt.xlabel('X')、plt.ylabel('Y')表示绘制X、Y轴 D . plt.show()显示图像
求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:

import math

def IsPrime(i):

    if i==1:

        return False

        for j in range(2,int(math.sqrt(i))+1):

            if:

                return False

        return True

    a=int(input("请输入a:"))

    b=int(input("请输入b:"))

    summ=0

    for i in range(a,b+1):

        if IsPrime(i):

           

            while t>0:

                summ=summ+t%10

       

    print("数字和为:",summ)

time模块是一个。time.sleep(10)是10秒。
程序补充。

以下程序引入Python的math模块,使用math模块下的floor函数对命令行输入的实数进行取整。

n=input(“请输入一个实数:”)

n2= math. floor(float(n))

print(n2)

现准备搭建一个家庭浇灌系统,实现缺水时自动给花补水。其相关器件连接如图所示。

micro:bit代码:

from microbit import *

while True:

if pin0.read_ analog()< 100:

pin2.write digital(0)

else:

pin2.write digital(1)

sleep(2000)

pin2.write_digital(0)

sleep(10000)

请分析该装置,完成下列题目。

  1. (1) 本套系统中,用来检测土壤湿度的设备属于信息系统中的                 
    A . 控制器 B . 执行器 C . 传感器 D . 受控对象
  2. (2) 根据程序代码,土壤干湿的临界值为               
    A . 1 B . 100 C . 2000 D . 10000
  3. (3) 根据程序代码,控制微型马达启动需要发送数字               
    A . 0 B . 1 C . 2000 D . 10000
  4. (4) 根据程序代码,微型马达接在               
    A . 0号口 B . 1号口 C . 2号口 D . 无法判断
  5. (5) 从信息系统设计来看,本系统中目前还没有                , 未来可以继续完善.
    A . 人机界面 B . 代码设计 C . 输出设计 D . 输入设计
有如下 Python 程序段,假设程序运行正常,图A所示图片是原始图片,则推测程序运行结果图片是(     )

from PIL import Image

import numpy as np

import matplotlib.pyplot as plt

choicelist,choice=[50,128,188,255],256

for i in choicelist:

    if i<choice:

        choice=i

fn='tiger02.jpg'

img=np.array(Image.open(fn).convert('L'))

rows,cols=img.shape               #图像尺寸分别赋值

for i in range(rows):            #依次取每个像素的坐标

    for j in range(cols):

        if (img[i,j]<=choice):   #像素值小于等于指定值,赋值1,否则为0

            img[i,j]=0

        else:

            img[i,j]=1

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

plt.imshow(img,cmap='gray')   #显示灰度图像

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

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

A . B . C . D .
某投资者将一段时间内的证券操作记录保存在文件“table.xlsx”中,部分界面如图a所示。

图 a

图 b

该投资者为了总结投资经验,编写如下程序, 对数据进行分析。请在划线处填入合适代码。

import pandas as pd

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']    #使图形中的中文正常编码显示

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

print( ) print( )

#筛选出所有盈利的证券操作记录。

#输出表格中所有操作的总盈亏。

#以下代码功能为找出盈利最大的 10 只证券, 并呈现如图 b 所示的图表。

g = df.groupby("证券名称",as_index = False)

df1 = g.盈亏.sum()

df1 = 

print(df1[:10])

plt.figure(figsize = (8,4))

plt.title('盈利前十的证券对比分析图')

plt. (df1[:10].证券名称,df1[:10].盈亏,label = "盈亏")

plt.xlabel('证券名称')

plt.ylabel("盈亏金额")

plt.legend()  #显示图例

plt.show ()

Python标准库中的random模块,可以生成随机浮点数,整数,甚至是随机选取列表中的一个或几个元素等,其中random.sample()的作用是(      )。
A . 从给定序列中随机获取指定长度的片段并随机排列 B . 随机打乱一个序列中的元素 C . 随机生成一个指定范围的整数 D . 随机生成一个浮点数
小李将2022年北京冬奥会的奖牌榜保存在Excel工作簿“2022BJ.xlsx”文件中,部分界面如图a所示。

图 a

  1. (1) 在Excel软件中打开“2022BJ.xlsx”文件,为了计算各国的奖牌总数,小李先在F2单元格中利用求和函数得出挪威的奖牌总数,然后利用填充柄完成区域F3:F30的各国奖牌总数的计算,则在F4单元格中中国的奖牌总数的计算公式是
  2. (2) 为了提高效率,小李利用 Python 编程对 Excel 工作簿文件进行数据分析,设计如下 Python程序代码,请根据要求在划线处填入合适的代码或完成相应操作的选择。

    import pandas as pd

    import matplotlib.pyplot as plt

    plt.rcParams['font.sans-serif'] = ['SimHei']         # 使图形中的中文正常编码显示

    df=pd.read_excel("① ")     # 读取Excel文件

    print(② )        # 筛选出金牌数前10名(即顺序号小于等于 10)的记录并打印

    dfs=   ③           # 筛选出奖牌总数前 10 名的记录,并按从高到低排序输出给 dfs print(dfs)           # 打印 dfs

    #第一部分代码结束

    ③处代码有多种写法,以下代码中不能达成此操作的是  (单选,填字母) A.df.sort_values("奖牌总数",ascending=True).tail(10)

    C. dfs=df.sort_values("奖牌总数",ascending=True)[:-11:-1]

    C.df.sort_values("奖牌总数",ascending=False)[:10]

    D.df.sort_values("奖牌总数",ascending=False).head(10)

    以下为第二部分代码,用于绘制如图b所示图形。

    图 b

    plt.figure(figsize=(8,4))

    plt.title("2022 年北京冬奥会金牌榜")       # 显示图表标题

    plt.  ④(df[:10]

    国家,df[:10].金牌, label="金牌")

    plt.xlabel("国家")

    plt.ylabel("金牌总数")

    plt.legend( )    #显示图例

    plt.show( )

    #第二部分代码结束

下列关于Python中numpy模块的说法错误的是(   )。
A . numpy是一个科学计算包 B . numpy中包含了很多数学函数,如三角函数、矩阵计算方法等 C . numpy模块中的arange函数可以创建一个等差数列 D . numpy模块可以画函数图象
小明搜集了某网络购物平台2021年1月1日至2021年9月30日时间段内的日用化妆品销售数据,原始数据如下图a所示。

  1. (1) 小明对数据进行了整理,下列操作不恰当的是(   )(单选,填字母)。
    A . 发现记录中有6 条重复,对这6 条记录进行了删除 B . 发现记录中有38 处数据项缺失,直接删除相关记录 C . 将某条记录中订单日期“2050-6-9”订正为“2021-6-9” D . 将某条记录中订单日期“2021#3#11”修改为“2021-3-11”
  2. (2) 小明发现数据中仍有极少量时间段外的记录混杂其中,利用Python 及pandas 模块进行处理。请回答问题:

    ① 采用pandas 模块中的(单选:填字母:A .Series / B .DataFrame)

    数据结构存储全部数据会比较高效。

    ② 全部数据保存于变量df 中,为筛选出订单日期为2021 年第一季度内的所有记录,

    可以执行Python 语句df1 =  ,则df1 中保存筛选结果。(单选,填字母。

    提示:多条件筛选时,条件之间用“&”连接,表示需要同时满足这多个条件)

    A.df[ (df['订单日期'] <= '2021-1-1' ) & (df ['订单日期'] <= '2021-3-31') ]

    B.df [ (df ['订单日期'] >= '2021-1-1') & (df ['订单日期'] >= '2021-3-31') ]

    C.df [(df ['订单日期'] >= '2021-1-1') & (df ['订单日期'] <= '2021-3-31')]

  3. (3) 经过以上两步处理之后,为了解“所在地市”第一季度“订购数量”前10 名的情况,

    编写如下Python 程序段:

    #数据整理结果保存于变量df1中,代码略

    g = df1.groupby('所在地市', as_index = False).sum()

    print           )

    则划线处的代码可为(   )(多选,填字母)

    A . g.sort_values('订购数量',ascending = False) [0:10] B . g.sort_values('订购数量',ascending = True).tail(10) C . g.sort_values('订购数量',ascending = True)[0:10] D . g.sort_values('订购数量',ascending = False).head(10)
  4. (4) 根据以上数据整理结果,小明对第一季度所在地市的“订购数量”进行可视化处理,如图b所示。

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

    #按“所在地市”对第一季度数据分组并求和,再按“订购数量”升序排序

    #选取最后10条数据,存入变量s,代码略

    import matplotlib.pyplot as plt

    x = s['所在地市']

    y =

    plt.barh(x, y, color = 'r')

    plt.show( )

    程序中划线处代码应为

  5. (5) 小明借助大数据技术,对近几年来该网络购物平台的日用化妆品销售数据进行了分析。

    应用该分析结果可能提供的数据服务是(列举一条即可)。

利用Flask和Sqlite模块,编写相应的Python程序与网页代码,来模拟用户登录验证过程。功能是:运行Python程序,启动浏览器并输入相应网址,在网页中输入用户名、密码,与数据库中的数据进行比对,若正确则在浏览器中显示成功信息,否则显示“用户名或密码错误!”。存储用户名、密码的数据表中共有三个字段,依次表示序号、用户名、密码。input.html网页与success.html网页内容如下:

<html><head><title>输入账号密码</title></head> <body>

<form action="/deal_request" method="get">

请输入账号:<input type="text" name="usr" ><br>

请输入密码:<input type="password" name="psd"><br> <input type="submit" value="提交" />

</form>

</body></html>

<html><head><title>Welcome</title></head>

<body>

<h1>登录成功!</h1><br>

<h1>欢迎你:        ①         </h1><br>

</body></html>

编写的 Python 程序如下:

from flask import Flask, render_template, request

import sqlite3

      ②        = Flask(_name_)

@app.route('/')

def input():

return render_template('input.html')

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

def deal_request():

get_usr = request.args.get('usr')

get_psd = request.args.get('psd')

if check(get_usr, get_psd):

  return render_template('succes.html',  name=get_usr)

else:

  return '用户名或密码错误!'

def check(name, psd):

db=sqlite3.connect('login.db')

cur=       ③            #创建游标对象

cur.execute('select * from users')

data=cur.fetchall()

for rec in data:                                    #比对用户名与密码

  if rec[ 1]==name and rec[2]==psd:

    return True

  else:

    return False

if _name_ == '_main_':

app.run(host=' 127.0.0. 1 ',  port=5000,  debug=False)

请完成下列题目:

  1. (1) 在浏览器中输入地址:http://127.0.0. 1:5000 ,则访问的网页是
  2. (2) 若登录成功后,在浏览器中文字“欢迎你:”的后面显示当前用户名,则划线①处的代码是
  3. (3) 要实现上述功能,完善划线②、③处代码。

  4. (4) 若本机IP地址为192.168.0.1,若要使同网段内其他计算机可以访问上述服务,则需将加框处的IP地址改为
最近更新