Python期末习题练习
简答题
1. Python语言有哪些数据类型?
int float bool complex string 元组(Tuple) 列表(list) 字典(Distrionary) 集合(Set)
2. 为什么要在程序中加注释?怎样在程序中加注释?加入注释对程序的执行有没有影响?
注释的作用是帮助理解程序的有效的手段之一,帮助自己和他人理解程序。注释有单行注释,多行注释等。快捷键 加注释的方法:选中一部分,同时按ctrl+/,给这些行加上注释(适用于批量加注释)。注释对程序没有影响。
3. 什么叫字符串?有哪些常用的字符编码方案?
有限字符的序列
Unicode、ASCII、GBK、GB2312、UTF-8
4.什么叫序列?它有哪些类型?各有什么特点?
指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们
序列类型包括字符串、列表、元组
特点
1. 字符串:有序,不可变的字符序列
2. 列表: 有序,可变,可重复的数据序列
3. 元组:有序,不可变,可重复的数据序列
5.集合有哪两种类型?分别如何创建?
可变集合(set),不可变集合(frozenset)
可变集合
1. 用一对大括号将多个用逗号分隔的数据括起来2. 使用set()函数
不可变集合
- frozenset()函数
6.Python支持的集合运算有哪些?集合的比较运算有哪些?集合对象的方法有哪些?
有并集,交集,差集,对称差集,比较,并入,遍历
==,!=,<,>,<=,>=
可变和不可变
issubset()
issuperset()
isdisjoint()
union()
intersection()
difference()
symmetric_difference()
copy()
可变集合
add()
update()
intersection_update()
difference_update()
symmetric_difference_update()
remove()
discard()
pop()
clear()
7.什么叫lambda函数?举例说明。
lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的匿名函数。
f = lambda x,y:x+y
print(f(2017,2018))
8.什么叫装饰器?它有何作用?
可以理解为一个函数,一个用来包装函数的函数,经常用于为已经存在的函数添加额外的功能
9.类的属性有哪几种?如何访问它们?
公有属性,私有属性
公有属性直接在类外通过对象名访问,私有属性需要在前面加两个下划线
10.继承与派生有何关系?如何实现类的继承?
继承是从已有的类中派生出新的类,新类具有原类的数据属性和行为,并能扩展新的行为
Python继承与派生有何关系如何实现类的继承
在类名后的小括号()中写入要继承的父类名,如果要继承多个类则中间用逗号分隔
11.什么是多态?在Python中如何体现?
同一名字的方法产生了多个不同的动作行为,也就是不同的对象收到相同的消息时产生不同的行为方式
在运行时确定其状态,在编译阶段无法确定其类型
在运行时通过参数类型确定其具体的计算过程
同一操作具有不同的形态
12.文本文件的操作步骤是什么?
13.二进制文件的操作步骤是什么?
Python对文本文件和二进制文件采用统一的操作步骤:即“打开—操作—关闭”。
14.程序的逻辑错误能否算作异常?为什么?
不算,因为异常是指程序运行过程中出现的错误或遇到的意外情况,而逻辑错误主要表现为程序运行后,得到的结果与预想的不一致。
15.什么叫异常?异常处理有何作用?在Python中如何处理异常?
异常是指程序运行过程中出现的错误或遇到的意外情况
对异常情况给予适当处理的技术就是异常处理。简而言之,作用就是对异常情况进行适当处理。如提高程序的健壮性,并把Python中晦涩难懂的错误信息转换为友好的提示呈现 给用户。
在Python中,异常也是对象,Python提供了try-except和try-finally语句来进行处理
16.语句try-except和try-finally有何不同?
try-except出错的时候执行, Except有特定的错误类型
try-finally无论如何都强制执行
编程题
1. 输入三个整数给a,b,c,然后交换它们的值:把a中原来的值给b,把b中原来的值给c,c中原来的值给a。
a, b, c = eval(input('please input 3 numbers:'))print(a, b, c)
a, b, c = c, a, b
print(a, b, c)
2. 输入是三个数,判断它们能否组成三角形。若能,则输出三角形是等腰三角形,等边三角形,直角三角形,还是普通三角形;若不能,则输出“不能组成三角形”提示信息。
a, b, c = eval(input('please input 3 numbers:'))print(a, b, c)if a + b > c and a + c > b and b + c > a:# 满足三角形if a == b == c:# 等边三角形print('等边三角形')elif a == b != c or a == c != b or c == b != a :# 等腰三角形print('等腰三角形')elif a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or c**2 + b**2 == a**2:# 直角三角形print('直角三角形')else:print('普通三角形')
else:print('不能组成三角形')
3.求满足如下条件的3位数:它除以9的商等于它各位数字的平方和。例如224,它除以9的商为24,而
2 2 + 2 2 + 4 2 = 24 2^2+2^2+4^2=24 22+22+42=24
for i in range(100, 999):s = int(i / 9)a = int(i / 100)b = int((i % 100) / 10)c = int((i % 100) % 10)if s == b ** 2 + c ** 2 + a ** 2:print(s, a, b, c)print(i)
4. 梅森尼数是指(2^n)-1为素数的数n,求[1,21]内有多少个梅尼森数以及最大的梅尼森数。
def sushu(n):for i in range(2, n):if n % i ==0:return Falsereturn True
def masonNumber(n):list = []for i in range(2, n):if sushu(2**i-1):list.append(2**i-1)return list
print (masonNumber(21))
print("最大的梅森尼数为:",max(masonNumber(21)))
5. 输入一个英文句子,将其中的小写字母转换成大写字母后并输出。
a=input()
print(a.upper())
6. 输入5x5矩阵a,完成下列要求:
输出矩阵a。
count = 1 a = [] for i in range(0, 5):temp = []for j in range(0, 5):temp.append(count)count += 1a.append(temp) print(a)
将第2行和第5行元素对调后,输出新的矩阵a。
b = a[1] a[1] = a[4] a[4] = b print(a)
用对角线上的各元素分别去除各元素所在行,输出新的矩阵a。
for m in range(1, 6):a[m - 1][m - 1] = a[m - 1][m - 1] / m print(a)
7. 从键盘输入若干数据建立一个字典,然后读取其键和值,并分别存入两个列表中。
dic = {}
while True:key = input('Input key:')if key == '':breakvalue = input('Input value:')dic[key] = value
print(dic.keys())
print(dic.values())
8. 输入全班30名学生的姓名和成绩,输出其中最高分和最低分,并求全班同学的平均分。要求利用字典实现。
count =30
s = []
for i in range(count):print(i+1)name = input('姓名:')score = int(input('成绩:'))t = {}t['姓名'] = namet['成绩'] = scores += [t]
print(s)
sum = 0
max = s[0]['成绩']
min = s[0]['成绩']
i1=i2=0
for k in range(count):if max < s[k]['成绩']:max = s[k]['成绩']i1=kif min > s[k]['成绩']:min = s[k]['成绩']i2=ksum += s[k]['成绩']
print('最高分:' + s[i1]['姓名'] + ' ' + str(s[i1]['成绩']))
print('最低分:' + s[i2]['姓名'] + ' ' + str(s[i2]['成绩']))
print('平均分:' + str(sum/count))
9. 已知:
y = s ( x , n ) s ( x + 1.75 , n ) + s ( x , n + 5 ) y=\frac{s(x,n)}{s(x+1.75,n)+s(x,n+5)} y=s(x+1.75,n)+s(x,n+5)s(x,n)
其中,s(x,n)=x+x2/2!+x3/3!+…+x^n/n!,输入x和n的值,求y值。要求分两种情况实现:直接在程序中定义函数s(x,n);在模块中定义函数s(x,n)。
import math
def func(n):if n == 0 or n == 1:return 1else:return (n * func(n - 1))
def s(x, n):sum = 0for i in range(1,n+1):sum += math.pow(x, n) / func(n)return sum
x = int(input("请输入x的值:"))
n = int(input("请输入n的值:"))
y = s(x, n) / (s(x + 1.75, n) + s(x, n + 5))
print(y)
10. 利用面向对象方法求n!,并输出10!的值。
class Factorial:def fac (self,num):factorial = 1for i in range(1,num+1):factorial *= ireturn factorialif __name__ == '__main__':factorial = Factorial()n=int(input('请输入n:'))print(n,'!=',factorial.fac(n))
11. 设文件integer.dat中放了一组整数,统计文件中正整数,零和负整数的个数,将统计结果追加到文件integer.dat的尾部,并输出到屏幕上。
file = open("integer.dat","r+")
s=file.readline()
a,b,c=0,0,0
while s != '':if int(s)> 0:a+=1elif int(s) == 0:b+=1else:c+=1s=file.readline()
print(a,b,c)
file.write('正数:'+str(a)+'\n')
file.write('零:'+str(b)+'\n')
file.write('负数:'+str(c)+'\n')
file.close()
12. 从键盘输入x和y的值,计算y=In(3x-y+1)的值。要求设置异常处理,对负数求对数的情况给出提示。
import mathclass LowZeroError(Exception):def __init__(self,data):self.data=dataclass ZeroError(Exception):def __init__(self,data):self.data=datax,y=eval(input('Please input x and y:'))
try:d = 3*x+y-1if d == 0:raise ZeroError('零不能用于求对数')if d < 0:raise LowZeroError('负数不能用于求对数')n = math.log(d)print(n)
except ZeroError as e:print(e)
except LowZeroError as e:print(e)
except:print('Error')
Python期末习题练习相关推荐
- python期末习题整理
文章目录 Python编程技术作业-1 判断 单选 填空 编程题 7-1 人生苦短,我学python 7-2 输出python之禅 7-3 jmu-python-汇率兑换 7-4 jmu-python ...
- 【python】习题 6-10周
[python]习题 2 22秋季Python第6周作业 python列表知识 7-1 朗诵比赛得分计算 7-2 列表排序.逆序 7-3 sdut-求整数的位数及各位数字之和 7-4 合并两个列表并去 ...
- 太牛了 Python期末复习总结,提高成绩必备回家过个开心年
Python期末复习之语法 将用一张思维导图的形式来展示python的基础语法. Python期末复习之运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑 ...
- python期末考试试题
python期末考试试题汇总 学习 2020-4-105589阅读 · 98喜欢 · 11评论 想个昵称憋一天 粉丝:370文章:31 关注 6.for i in range(2,n): if n%i ...
- 下列不是python对文件的读操作方法是-小猿圈python之python期末考试测试题(一)...
原标题:小猿圈python之python期末考试测试题(一) 又快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到小编的文章,你就偷着乐吧,小编总结出:一般python期末考试 ...
- Python入门习题大全——数字 8
Python入门习题大全--索引 编写4个表达式,它们分别使用加法.减法.乘法和除法运算,但结果都是数字8.为使用print语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于 ...
- Python入门习题大全——词汇表2
Python入门习题大全--索引 既然你知道了如何遍历字典,现在请整理你为完成上一个例题而编写的代码,将其中的一系列 print 语句替换为一个遍历字典中的键和值的循环.确定该循环正确无误后,再在词汇 ...
- Python入门习题大全——词汇表
Python入门习题大全--索引 Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表. 想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在 ...
- 小猿圈python之python期末考试测试题(一)_小猿圈python之python期末考试测试题(二)...
快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到小编的文章,你就偷着乐吧,小编总结出:一般python期末考试老师们最爱考的内容,一定要好好看啊,争取做到python不挂科: ...
最新文章
- 山寨c 标准库中的getline 函数
- 图像与视频合成领域的集大成者,都在这里了!
- 是你的数据还不够强!谷歌大脑「数据增强」开源,大神QuocLe出品
- SQL Server 2005系列教学_用户管理
- NYOJ5056_黑色帽子(水题)
- 使用开源CRM进行客户关系管理(2)
- webpack(2)--开发环境基本配置
- Maven学习记录之maven基本操作命令,maven本地工厂的创建,maven骨架的生成,以及在eclipse中创建maven工程:...
- php取json子对象属性,PHP json获取相关对象值
- 支持向量机的基本原理
- FEC介绍(二)-详解RS编码
- 启动虚拟机异常(超完整版)Win10
- python降低图片分辨率_Python批量更改图片分辨率
- 如何在一个事件中使用(调用)另一个事件
- windows下 apache配置rewrite错误解决
- oracle txn,【学习笔记】ORACLE分布式事务故障的处理 结合MOS官方文档分析
- 男女人生良缘生克批意
- Photoshop CC 2015安装激活
- iOS 定位服务编程详解
- 柔性电子,常用材料总结