4.2 数值计算 知识点题库

numpy是一个科学计算包,其中包括很多,如、矩阵计算方法、、线性代数等。
   pygame模块提供了等函数;random模块用于产生;sys模块包含了跟Python相关的函数。
显示游戏程序的得分,方法为:先定义显示字体,然后将score显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数showscore。

def ():        #定义函数,显示分数

textfont=() #字体为Arial,大小30

#生成平滑的红色字符串

t=()('score:'+str(score),True, (255,0,0))

screen.blit(t,[50,50])     #在窗口显示

以下哪项是一个绘图库模块(    )
A . Numpy B . Matplotlib C . Plot D . arange
用Python编写程序,实现一元二次方程式ax2+bx+c=0(a≠0)的求解。输入系数a、b、c的值,输出方程可能的解。
  1. (1) 编写函数f实现一元二次方程根的判别式的求解。
  2. (2) 将下面程序划线①处的代码补充完整。

    import math

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

    b-int(input("b:"))

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

    if

        x1=((-1)*+s<+(:,),)))/(2*a)

        x2=((-1)*b-<+(f(),))/(2*a)

        print("x1=",x1,"x2=",x2)

    else:

    print("该方程式无解!")

  3. (3) (多选题)小明在调试程序时发现错误提示“NameError: name 'sqrt' is not defined" ,上述程序错误的语句是(     )

    A.a=int(input("a:"))

    B.x1=((-1)*b+sqrt(f(a,b,c)))/(2*a)

    C.x2=((-1)*b-sprt(f(a,b,c)))/(2*a)

    D.print("x1=",x1,"x2=",x2)

    应如何修改:

现提供一幅RGB模式的彩色位图,左框中的程序实现将其中每个像素的颜色值进行调整,使之成为一幅黑白图像。请阅读右框中的程序,程序运行的结果是: 。

from PIL import Image

import numpy as np

import matplotlib. pyplot as plt

#打开图像并转化成数字矩阵

img-np. array(Image. open("hjpg". convert("L"))

#图像尺寸分别赋值

rows, cols=img. shape

#调整每个像素的RGB值

for i in range(rows):

    for j in range(cols):

        if (img[ij]<=128):

            img[i, j]=0

        else:

            img[i, j]=1

#生成新的图像并显示

plt. figure("hh")

plt. imshow(img. cmap="gray")

plt. axis("ff")

plt. show( )

from PIL import Image

import numpy as np

import matplotlib. pyplot as plt

img-np. array(Imagc. open("hh. jpg"))

rows, cols, dims= img. shape

for i in range(5000):

    x=np. random. randint(0, rows)

    y=np. random. randint(0, cols)

    img[x, y]=0

plt. figure("hh")

pt. imshow(img)

pltaxis("off")

plt. show( )

根据表中的命令提示,阅读以下Python程序段,描述程序实现的过程。

命令

说明

turtle.forward(distance)

向当前画笔方向移动distance像素长度

turtle.backward(distance)

向当前画笔相反方向移动distance像素长度

turtle.right(degree)

顺时针移动degree°

turtle.left(degree)

逆时针移动degree

turtle.pencolor()

返回当前画笔颜色,传人参数设置画笔颜色

import turtle

t=turtle. pen()

turtle. bgcolor("white*")

colors=["red","green" "blue"]

for x in range(3):   

    turtle. pencolor(colors[x%3])

    turtle. eft(120)

    turtle. forward(150)

某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)
数据文件“data.csv"中包含“ 商品编号”“售出日期”“售出价格”“售出数量”“业务员编号”5个数据列、20000个行数据,下列Python程序段用于统计每件商品的销售总量,并绘制垂直柱形图呈现销售量前10的商品编号。程序中①②③处应填写的代码依次为(     )

import pandas as pd

import matplotlib. pyplot as plt

df=pd. read_ csv(data. csv)

   ①  

   ②  

   ③  

A . plot data = df. groupby('售出数量')['商品编号']. sum( ) plot data. sort_ values( )[-10:]. plot(kind='bar') plt. show() B . plot _data = df. groupby('商品编号')['售出数量']. sum() plot_data. sort_ values( )[- 10:]. plot(kind "bar') plt. show( ) C . plot_data = df. groupby('售出数量')[商品编号']. sum( ) plot_ _data. sort values( )[:10]. plot(kind='bar') plt. legend( ) D . plot_ data = df. groupby('商品编号')['售出数量']. sum( ) plot_ data. sort values( )[:10]. plot(kind='bar') plt. legend( )
下列(     )不属于Python网络数据采集程序使用的扩展库。
A . System B . SciPy C . Pandas D . Matplotlib
一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。

(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。

import math

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

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

c=int(input("请输入c的值:"))

d= #将表达式b2-4ac的值赋给变量d

if

    print("x1=",(-b+math.sqrt(d))/(2*a))  #输出方程的其中一个实数根

    print("x2=",()           #输出方程的另一个实数根

else:

      #输出“方程无实数根”

哥德巴赫在1742年提出了以下猜想:任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。

import math

def ss(n):

    Flag=True

    i=2

    while i <= int(math.sqrt(n))and Flag:

        if

            Flag = False

       

    return Flag

n=int(input(“输入一个大于2的偶数”))

for i in rang(2,n//2+1):

    if

        print(str(n)+"="+str(i)+"+"+str(n-i))

如果输入“8”则结果显示

numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。arange函数是该模块中的函数,下列说法错误的是(     )
A . 可以用arange函数创建一个等差数列 B . arange函数如在0~2π之间每隔0.01取个值,则可以用arange(0,2* numpy.pi,0.01)来表示,其中numpy.pi表示π C . Import numpy as np后,x=np,arange(0,2* numpy.pi,0.01),可以将x应用到y=np.sin(x)图像绘制 D . 可以用arange函数创建一个等比数列
完善程序实现以下功能并保存。

输入一元二次方程的系数a,b,c的值,求解一元二次方程 ax2+bx+c=0(a≠0)

#请不要更改源程序的结构,删除原题里的①、②。填写正确的代码,使程序完善

import math

a=float(input("请输入方程系数a(!=0):"))

b=float(input("请输入方程系数b:"))

c=float(input("请输入方程系数c:"))

delta=b*b-4*a*c

if delta>:

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

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

    print("方程有两个不同的解",x1,x2)

elif delta==0:

    x1=

    print("方程有两个相同的解",x1)

else:

    print("方程无解")

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

求解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)

在Python中要生成随机数,应该使用(    )。
A . math 模块 B . random模块 C . numpy 模块 D . pygame 模块
以下程序引入Python的math模块,使用math模块下的floor函数对命令行输入的实数进行取整。请补全该程序段。

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

n2= math. floor(float(n))

print(n2)

用python编辑器打开“Y:\108”下的文件“猜数.PY”,进行以下操作并保存结果。

①请填空完善该程序,实现功能:随机产生一个0-99内的整数,在给定的次数内进行猜数,如果猜的数大了,提示“大了”,如果猜的数小了,提示“小了”。如果猜对了,提示“恭喜你答对了”,并给出猜的次数。如果在给出猜测的次数内没有猜对,提示“机会用完了,再来一次”。

②编写完成后,原名保存并关闭应用软件。

# 程序初始化,并随机产生一个0-99的整数作为秘密数,

Import # 导入随机数模块

import math

secret=random.randint(0,99)

guess=0   

tries =  # 尝试次数赋初值

#给定猜测次数n

n=6

# 打招呼

print('嗨,你好!今天我们来玩一个猜数游戏。')

print('这个数字在0-99之间,我给你6次机会。')

#得到玩家猜的数,并判断大小,最多允许n次

while tries<n and guess!=secret:

     # 尝试次数加1

    guess = int(input("请输入你猜的数:"))

    if guess > secret:

        print("大了")

    elif guess < secret:

       print("小了")

    else:

        print("恭喜你,答对了!猜了", , "次,")

#如果给出猜测的次数内没有猜对,则提示机会用完了,再来一次。

if tries == n and guess != :

print("机会用完了,再来一次!")

从离地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 . 选择排序
下列关于Python中numpy模块的说法错误的是(       )。
A . numpy是一个科学计算包 B . numpy中包含了很多数学函数,如三角函数、矩阵计算方法等 C . numpy模块中的arrange函数可以创建一个等差数列 D . numpy模块可以画函数图象
最近更新