2021年python期末复习范围和攻略

留言榜已经打开

不懂的留言,会的也互相帮助下,期末加油!

需要理解的部分,多写写代码运行运行就理解得很透彻了!

上一次更新:2021年6月4日15点01分

版本号:1.2.0

考试范围分析

试卷题型和分值分布

感谢:以下图片由方可整理的detail,老师口述内容,下面会具体分析

更新大题必考算法和大题论述题,已在后部分更新,此处未详细展开

image.png

总结

可以分为两部分:

  • 选填50分
  • 大题50分

选填

把范围内的题都做完,理解了就没问题了

之所以要理解是因为会稍微修改一些选项内容

不过只要能把每一题搞懂最后肯定没问题。

范围:

大题

主要靠编程能力,在掌握基本的编程能力后,还需要掌握六种基本的算法。

本文后部分会涉及这六种算法。

  • 基本的编程能力可以去这个网站学习

  • 必考“算法”,看下文具体讲解了
  • 论述题大题

大题必考算法

注意,函数定义是没有输入输出的,调用才有用

输入输出是用input和output的,要不然代码运行不会显示任何东西。

具体去学习一下基本的编程能力就知道了,自己尝试可以自己赋值单独一段的“算法”,

自己改改试试,都是非常非常非常基础的,这代表着只要你花时间肯定能学会。

x的n次方&&阶乘累加和

# x^n
def _pow(x, n):
    ret = 1
    for i in range(n):
        ret*=x
    return ret
# 阶乘累加和到n!
def q_sum(n):
    per = 1
    ret = 1
    for x in range(1,n+1):#[1,n]
        per*=x
        ret+=per
    return ret

统计范围同时被3和7整除的个数

def fit_count(left, right):
    cnt = 0
    for x in range(left, right+1):
        if x%3==0 and x%7==0:
            cnt+=1
    return cnt

求两个数的最大公约数

def gcd(a, b):
    if a%b==0:
        return b
    return gcd(b, a%b)

最大最小求和平均值

# 求最小值
ls = [66,22,33,44]
min = ls[0]
for x in ls:
    if min>x:
        min=x
print('min =',min)
​
# 求最大值
ls = [66,22,33,44]
max = ls[0]
for x in ls:
    if max<x:
        max=x
print('max =',max)
​
# 累加求和
ls = [11,22,33,44,55,66,77,88]
sum = 0
for x in ls:
    sum+=x
print('sum =', sum)
​
# 求平均值
ls = [11,22,33,44,55,66,77,88]
avg = sum(ls)/len(ls)
print('avg =', avg)

素数判断

# 判断素数
def isPrime(num):
    for i in range(2, num):
        if num%i==0:
            return False
    else:
        return True

闰年判断

# 闰年
def isRun(year):
    if year%100!=0 and year%4==0:
        return True
    if year%400==0:
        return True
    return False

回文判断

# 回文判断 hw1 hw2是两种不同的算法的意思
def ishw1(line):
    if line==line[::-1]:
        return True
    return False
def ishw2(line):
    length = len(line)
    for i in range(length):
        if line[i]!=line[length-1-i]:
            return False
    return True
# 调用例子,键盘输入一串字符串,判断字符串是否为回文
# 这里直接使用第一种判断函数 ishw1
s = input('请输入一个字符串判断是否为回文:')
if ishw1(s):
    print('是回文')
else:
    print('不是回文')

集合操作

关键是理解:

  • 集合的定义:set = {1,2,3}
  • 集合的四种操作,的含义
这篇教程讲的很好了去这里看看:https://www.runoob.com/python3/python3-set.html
# 指令行下演示代码
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

大题论述题

python语言的特点有哪些

    • 简单,易学
    • 免费、开源
    • 可移植性强,跨平台语言
    • 解释型语言
    • 扩展库丰富,各种各样的扩展库
    • 高级语言,使用无需考虑底层实现细节
    • 面向对象

python语言的应用领域

  • 数据处理类

    • 人工智能
    • 云计算
    • 爬虫技术
    • 金融科学数据分析
  • 开发

    • web开发
    • 网络游戏开发

python包含哪些组合数据类型,说明他们的区别

是否有序 | 下标索引键值 | 值可修改 | 可否排序
  • 列表

    • 有序,使用顺序下标取值,值可以修改,因此可排序
  • 元组

    • 有序,使用顺序下标取值,值不可修改,因此不可排序
  • 集合

    • 无序,值不可重复,值可修改,因此不可排序
  • 字典

    • 无序,使用键值取值,值可以修改,因此不可排序,键值唯一

请写出计算一元二次方程解的IPO模型

思路,使用求根公式

  • Input:a b c
  • process:

    • x1=(-b+(b**2-4*a*c)**0.5)/(2*a)
    • x2=(-b-(b**2-4*a*c)**0.5)/(2*a)
  • Output:

    • x1 x2
Last modification:October 12, 2021
如果觉得我的文章对你有用,请随意赞赏。咖啡(12RMB)进度+100%,一块巧克力(1RMB)进度+6%。
(赞赏请备注你的名称哦!后台记录中来自理工小菜狗)