2021年python期末复习范围和攻略
留言榜已经打开
不懂的留言,会的也互相帮助下,期末加油!
需要理解的部分,多写写代码运行运行就理解得很透彻了!
上一次更新:2021年6月4日15点01分
版本号:1.2.0
考试范围分析
试卷题型和分值分布
感谢:以下图片由方可整理的detail,老师口述内容,下面会具体分析
更新大题必考算法和大题论述题,已在后部分更新,此处未详细展开
总结
可以分为两部分:
- 选填50分
- 大题50分
选填
把范围内的题都做完,理解了就没问题了
之所以要理解是因为会稍微修改一些选项内容
不过只要能把每一题搞懂最后肯定没问题。
范围:
范围一:Python课本课后习题,如图所示的一到五章课后习题,具体看图
- 范围二:ppt题库,下载链接:https://poil.lanzoui.com/iLn49pk0r2j
大题
主要靠编程能力,在掌握基本的编程能力后,还需要掌握六种基本的算法。
本文后部分会涉及这六种算法。
基本的编程能力可以去这个网站学习
- https://www.runoob.com/python/python-basic-syntax.html
- 电脑打开左侧边栏中基础教程中 从python基础语法和之后的部分自己看看写写就会了
- 推荐使用python IDLE学习,新手友好
- 必考“算法”,看下文具体讲解了
- 论述题大题
大题必考算法
注意,函数定义是没有输入输出的,调用才有用
输入输出是用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
2 comments
这么早就开始准备期末考试了吗tql