4.2 数值计算 知识点题库

以下是凯撒密码的改进版,请将下划线处内容补充完整。

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)

#结束

   在pygame中,使用图像的最简单方法是调用函数。通过来载入图片,表示图像文件的路径和名称。图像文件必须和程序在下才可以使用相对路径的引用方式。
  为了便于游戏循环中反复调用,可以定义成一个函数,在绘制福字时,需要设置图像显示的位置,因此showfu中有两个参数,分别表示图像位置的
matplotlib模块是一个。matplotlib的绘图原理很简单,利用画线函数就可以在直角平面内轻松地将坐标点对连接成平滑曲线。
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”
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)

有Python程序段如下:

import pandas as pd#第1行

s=pd. Series([ 166,178,1 80],index-["S1","S2","S3"])    #第2行

s[1]=168#第3行

print(s)#第4行

该程序段运行后输出结果为(     )

A . [168 178 180] B . [166 168 180] C . D .
os模块是一个。os.system(“cls”)语句作用
请在空格处填写正确的代码,使程序完善。

实现功能:绘制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.

python中引入第三方库使用(     )语句
A . if B . for C . while D . import
程序分析题:分析完善程序

以下是求解一元二次方程( 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("无实数解!")

请补充完成上述程序。

从离地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 . 选择排序
matplotlib模块是Python中最出色的绘图库,功能很完善。调用 matplotlib.pyplot时,坐标系可以根据数值范围自动生成。阅读下列程序代码。

import numpy as np #加载numpy模块并取名为np

import matplotlib.pyplot as plt

x=np.arange(0,2*np.pi,0.01)

y=np.sin(x) 

plt.plot(x,y)

plt.title('sin(x)') 

plt.xlabel('X')

plt.ylabel('Y')  

plt.show() 

下列选择错误的是(    )

A . import matplotlib.pyplot as plt ,加载matplotlib.pyplot并取名为plt B . x=np.arange(0,2*np.pi,0.01)为x轴区间 C . plt.plot(x,y),显示x轴、y轴 D . plt.show()显示图像
脱氧核糖核酸(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]
在用Python编程对数据进行分析的时候,代码pandas.DataFrame.sum执行的操作是(   )
A . 返回所有列的和 B . 返回所有行的和 C . 返回所有数据中的最大值 D . 返回所有数据中的最小值
以下程序引入Python的math模块,使用math模块下的floor函数对命令行输入的实数进行取整。

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

n2= math. floor(float(n))

print(n2)

补充程序段划线处代码。

Python标准库中的random模块,可以生成随机浮点数,整数,甚至是随机选取列表中的一个或几个元素等,其中random.sample()的作用是(      )。
A . 从给定序列中随机获取指定长度的片段并随机排列 B . 随机打乱一个序列中的元素 C . 随机生成一个指定范围的整数 D . 随机生成一个浮点数
matplotlib模块是Python中最出色的绘图库,其中show函数的作用是(     )。
A . 将点对连线 B . 将绘制的图像窗口显示出来 C . 设置图像标题 D . 设置坐标轴标题
某数据压缩方法描述如下:

①原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;②原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;③原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身。

根据上述压缩方法,对应的解压缩方法示例如图所示。

小明学习了Python的PIL、matplotlib和numpy等模块知识后,现有图像文件“台州.bmp”,该文件的颜色模式为RGB,将该图像文件的每个像素点转换成灰度值(值为整数)后,使用上述压缩方法进行压缩并保存为文本文件。颜色RGB值转灰度值的公式如下:

灰度值=0.299×红色颜色分量+0.587×绿色颜色分量+0.114×蓝色颜色分量

  1. (1) 如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是
  2. (2) 实现上述功能的Python程序如下。请在划线处填入合适代码。

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    img = np.array(Image.open("台州.bmp"))

    row,cols,rgb = img.shape

    s=[]

    for i in range(row):

    for j in range(cols):

    r,g,b = img[i,j]

    hdz =

    s.append(hdz)

    ss = []:j = 0

    while j<len(s)-1:

    if s[j]!=s[j+1]:

    if s[j]!=0:

    ss.append(s[j])

    else:

    ss.extend()    #extend 函数用于在列表末尾一次性追加另一个序列中的多个值

    j+=1

    else:

    c = s[j]

    for k in range(j+1,len(s)) :

    if c!=s[k]:

    break

    else:

    ss.extend([0,k-j,s[j]])

    j=k

    if j!=len(s):

    ss.append(s[j])

    f = open("台州 255.txt","w+")

    f.write(",".join(map(str,ss)))

    f.close()

利用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地址改为
最近更新