小组考核试题复盘

  • Post author:
  • Post category:其他


  1. 我理解的机器学习就是对研究问题提出一个模型预测,然后对这个模型进行数据的堆砌,用数据去训练计算机,得到符合数据规律概率比较大的函数,进而去用这个函数对以后的数据进行预测分析,得到令人满意的结果.

  2. 正则表达式是对字符串进行操作,匹配返回满足某种模式的字符串的一个特殊的字符序列.

  3. 正则表达式中的”.”:匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。

    在这里插入图片描述

  4. “*”:匹配0个或多个的表达式.

    在这里插入图片描述

  5. “+”:匹配1个或多个的表达式.

    在这里插入图片描述

  6. “?”: 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式.
    在这里插入图片描述

    8.findall:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

import re

result = re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10')
print(result)
[('width', '20'), ('height', '10')]

9.search:扫描整个字符串并返回第一个成功的匹配

import re
line = "Cats are smarter than dogs";
searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)
searchObj.group() :  Cats are smarter than dogs
searchObj.group(1) :  Cats
searchObj.group(2) :  smarter

10.match:只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None

line = "Cats are smarter than dogs";
matchObj = re.match( r'dogs', line, re.M|re.I)
None

11.写出匹配手机号的正则表达式(手机号共 11 位,且以 13、14、15、18 开头)

在这里插入图片描述

12.python 和 C 语言的区别和优缺点,它们分别适用于什么场合?

1.python语言不需要预先编译,边解释边执行;而c语言需要预先编译成机器语言然后再执行,即c语言代码执行效率比python要高.

2.python更易于学习,编写和阅读,c语言语法比python更难.

3.c语言更适用于底层开发,直接与操作系统打交道;

python更适用于脚本编写,数据科学,机器学习方面的应用.

13.什么是面向对象(面向对象的特性),它与面向过程有什么区别?

将现实世界中的事物抽象化成对象,现实世界中的关系抽象化类,继承,帮助人实现对现实世界的抽象与数据建模.

面向过程针对的是分析问题所需要的步骤,而面向对象则是将问题抽象化为对象,分为几个不同的对象来处理问题

14.类、对象、实例、实例化之间的关系?

类为一个类型,对象即为万物;实例是根据类创建出来的一个一个对象,而类创建对象的过程就是实例化.

15.说明”

init

” 函数的作用,一定要有这个函数吗?

构造函数,在类实例化会自动调用,一般用于参数的初始化.

16.pandas读取sv 文件是什么格式:纯文本格式.

17.python 中,如何对字典、列表、字符串之间进行两两转换?

[’a’, ’b’, ’c’] ⇐⇒ ’abc’

k = [’a’, ’b’, ’c’], v = [1, 2, 3] ⇐⇒ {’a’: 1, ’b’: 2, ’c’: 3}

{’a’: 1, ’b’: 2, ’c’: 3} ⇐⇒ ’{”a”:1, ”b”:2, ”c”:3}’

1.‘’.join([’a’, ’b’, ’c’])

2.dict(zip(k,v))

3.str({’a’: 1, ’b’: 2, ’c’: 3})

18.请利用 matplotlib 编写一个程序,画出函数 y = x 2 + 18 的图像,并给图表和坐

标轴加上标题。

ax1 = plt.subplot(1,1,1)
x = np.linspace(1,10)
y = pow(x,2) + 18
ax1.plot(y,marker=r'.',color=u'black',linestyle='--',label='f(x)')
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position("left")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.legend(loc='best')
plt.show()

在这里插入图片描述

19.素数排位:已知素数序列为 2、3、5、7、11、13、17、19、23、29⋯⋯,即素数

的第一个是 2,第二个是 3,第三个是 5⋯⋯那么,随便挑一个数,若是素数,能确定是

第几个素数吗?如果不是素数,则输出 0

n = int(input())
sum = 0
ans = []
for i in range(2,n+1):
    for num in range(1,i+1):
        if i%num == 0:
            sum += 1
    if sum==2:#判断素数
        sum=0
        ans.append(i)#将素数放在新列表中
    else:
        sum=0
if n in ans:
    print(int(ans.index(n))+1)#打印出为第几个素数
else:
    print(0)

20.画出函数 y 1 = sinx, y 2 = cosx, y 3 = tanx, y 4 = sinx 2 + cos2x 的图像, 其

中 x 的范围为 [1 : 4]。

要求:四个函数图像显示在同一个窗口且曲线用不同的颜色加以区分。

import matplotlib.pyplot as plt
import numpy as np
import math
plt.style.use('ggplot')
ax1 = plt.subplot(2,2,1)#两行两列
ax2 = plt.subplot(2,2,2)
ax3 = plt.subplot(2,2,3)
ax4 = plt.subplot(2,2,4)
x = np.linspace(1,4)#控制范围
y1,y2 = np.sin(x),np.cos(x)
y3,y4 = np.tan(x),np.sin(pow(x,2)) + np.cos(2*x)
ax1.plot(y1, marker=r'.', color=u'blue', linestyle='--',label='Blue')
ax2.plot(y2, marker=r'.', color=u'red', linestyle='--',label='Red')
ax3.plot(y3, marker=r'.', color=u'g', linestyle='--',label='Green')
ax4.plot(y4, marker=r'.', color=u'black', linestyle='--',label='Black')
ax1.xaxis.set_ticks_position('bottom')
ax1.yaxis.set_ticks_position('left')
plt.xlabel('X')
plt.ylabel('f(x)')
plt.legend(loc='best')
plt.show()

在这里插入图片描述

21.单词分组:第一行输入全部单词,第二行输入需排除的单词,编写程序,输出剩

余单词(排除时对英文单词不区分大小写,输出时须按原顺序和大小写)。

输入样例 1:

樱挑 榴莲 栗子 芒果 葡萄 草莓 荔枝 枣 青梅

葡萄 草莓 榴莲 枣 青梅

输出样例 1:

樱挑 栗子 芒果 荔枝

ans = input().split(' ')
delete = input().split(' ')
for i in range(len(delete)):
    if delete[i] in ans:
        ans.remove(delete[i])
print(" ".join(ans))

输入:樱桃 葡萄 苹果
苹果 樱桃
输出:葡萄



版权声明:本文为qq_61712022原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。