简答题

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()函数
不可变集合
  1. 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,完成下列要求:
  1. 输出矩阵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. 将第2行和第5行元素对调后,输出新的矩阵a。
    b = a[1]
    a[1] = a[4]
    a[4] = b
    print(a)
    
  3. 用对角线上的各元素分别去除各元素所在行,输出新的矩阵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期末习题练习相关推荐

  1. python期末习题整理

    文章目录 Python编程技术作业-1 判断 单选 填空 编程题 7-1 人生苦短,我学python 7-2 输出python之禅 7-3 jmu-python-汇率兑换 7-4 jmu-python ...

  2. 【python】习题 6-10周

    [python]习题 2 22秋季Python第6周作业 python列表知识 7-1 朗诵比赛得分计算 7-2 列表排序.逆序 7-3 sdut-求整数的位数及各位数字之和 7-4 合并两个列表并去 ...

  3. 太牛了 Python期末复习总结,提高成绩必备回家过个开心年

    Python期末复习之语法 将用一张思维导图的形式来展示python的基础语法. Python期末复习之运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑 ...

  4. python期末考试试题

    python期末考试试题汇总 学习 2020-4-105589阅读 · 98喜欢 · 11评论 想个昵称憋一天 粉丝:370文章:31 关注 6.for i in range(2,n): if n%i ...

  5. 下列不是python对文件的读操作方法是-小猿圈python之python期末考试测试题(一)...

    原标题:小猿圈python之python期末考试测试题(一) 又快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到小编的文章,你就偷着乐吧,小编总结出:一般python期末考试 ...

  6. Python入门习题大全——数字 8

    Python入门习题大全--索引 编写4个表达式,它们分别使用加法.减法.乘法和除法运算,但结果都是数字8.为使用print语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于 ...

  7. Python入门习题大全——词汇表2

    Python入门习题大全--索引 既然你知道了如何遍历字典,现在请整理你为完成上一个例题而编写的代码,将其中的一系列 print 语句替换为一个遍历字典中的键和值的循环.确定该循环正确无误后,再在词汇 ...

  8. Python入门习题大全——词汇表

    Python入门习题大全--索引 Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表. 想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在 ...

  9. 小猿圈python之python期末考试测试题(一)_小猿圈python之python期末考试测试题(二)...

    快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到小编的文章,你就偷着乐吧,小编总结出:一般python期末考试老师们最爱考的内容,一定要好好看啊,争取做到python不挂科: ...

最新文章

  1. 山寨c 标准库中的getline 函数
  2. 图像与视频合成领域的集大成者,都在这里了!
  3. 是你的数据还不够强!谷歌大脑「数据增强」开源,大神QuocLe出品
  4. SQL Server 2005系列教学_用户管理
  5. NYOJ5056_黑色帽子(水题)
  6. 使用开源CRM进行客户关系管理(2)
  7. webpack(2)--开发环境基本配置
  8. Maven学习记录之maven基本操作命令,maven本地工厂的创建,maven骨架的生成,以及在eclipse中创建maven工程:...
  9. php取json子对象属性,PHP json获取相关对象值
  10. 支持向量机的基本原理
  11. FEC介绍(二)-详解RS编码
  12. 启动虚拟机异常(超完整版)Win10
  13. python降低图片分辨率_Python批量更改图片分辨率
  14. 如何在一个事件中使用(调用)另一个事件
  15. windows下 apache配置rewrite错误解决
  16. oracle txn,【学习笔记】ORACLE分布式事务故障的处理 结合MOS官方文档分析
  17. 男女人生良缘生克批意
  18. Photoshop CC 2015安装激活
  19. iOS 定位服务编程详解
  20. 柔性电子,常用材料总结

热门文章

  1. java好友系统_unity功能开发——好友系统
  2. python小数乘法_python小数类型
  3. React 配置px转rem
  4. 2023四省联考数学题(解答)
  5. 风压和功率计算公式轴流式_轴流风机的安置及风压的计算
  6. 【JavaScript】巧用思维导图来轻松学习JavaScript
  7. 大企业HR透露:什么样的应聘者更易被青睐!
  8. JAVA 分支结构 swit结构 for循环
  9. java扫雷答辩ppt_C语言扫雷答辩.ppt
  10. L1-043 阅览室 c语言简单