Python期末复习题(一)

Python期末复习题(一)

一、选择题

1、在Python中,以下哪个关键字用于定义函数(A)
A. def B. function C. define D. define_function
2、下列哪个选项是用于在Python中获取用户输入的函数(C)
A. print() B. read() C. input() D. scan()
3、Python 中常见的数据类型有哪些(C)
A. 字符串、整型、浮点型、布尔值 B. 列表、元组、字典、集合
C. 都对 D. 都错
4、下面哪个选项可以将字符串“HelloWorld”转换为大写形式?(A)
A、upper() B. capitalize() C.lower() D.title()
# 解析:上述函数作用依次为 全部大写、首字母大写、全部小写、每个单词首字母都大写
5、在Python中,以下哪个选项用于创建一个空的列表(A)
A. [] B. {} C. () D. ‘’
6、设str = “Hello Luoxiaitian” ,则str[3:8]的值为?(A)
A. lo Lu B. ello C. o Luo D. oLuox
# 解析:[3:8]切片表示从下标3开始到7结束,不包含右边,且要把空格算入
7、type(1 + 2 * 3.14) 的结果是?(C)
A. <type ‘int’> B.<type ‘long’> C. <type ‘float’> D. <type ‘str’>
8、下列标识符合法的是?(B)
A. i’m B. _ol C. 3Q D. for
9、在Python中字符串的表示方法是?(D)
A. 单引号包裹 B. 双引号包裹 C、三重单引号包裹 D、以上都是
10、定义 a = [1,2,3,4,5,6,7,8,9,10],则以下哪个能正确输出最后一个元素(B)
A. print(a[10]) B. print(a[9]) C. print(a(10)) D. print(a(9))
11、以下哪个方法可以在Python中打开文件?(A)
A. open() B. close() C. read() D. write()
12、a = [“apple”,“banana”,“cherry”],则print(a[-1])的值为?(C)
A. apple B. banana C. cherry D. 程序错误
13、Python的创始人是?(D)
A. dennis ritchie B. james gosling C. microsoft D. guido van rossum
14、定义s = [1, 2, 3, 4, 5, 6],则执行s.pop(3)之后,s的值为?(B)
A . [1, 2, 4, 5, 6] B. [1, 2, 3, 5, 6] C. [1, 2, 3, 4, 6] D. [1, 2, 3, 4, 5]
15、定义 s = “hello world”,则如何执行并输出能得到"h e l l o w o r l d"(D)
A. " “.join(s) B. s.replace(”“,” ") C. " “.join(s.split(” ")) D. " ".join(s.replace(’ ‘,’'))
""" 
解析:
	join: 将依次给序列中每个元素按照前缀进行拼接
	replcae: 将旧字符串用新字符串替换
	split: 将字符串按照后缀进行拆分,返回列表
	
	D选项的意思表示,先将s中的空格消去,在用空格拼接每一个字母
"""

二、判断题

1、Python中的bool为假的取值表示是 false ( × )
解析:真值为True,假值为False
2、使用关键字class 可以定义一个类(√)
3、集合的元素是不能重复的(√)
# 定义一个集合变量并赋值
set = {5, 6, 9, 8, 5}
# 输出结果
print(set)
# 结果为:{8, 9, 5, 6}
4、在python中,所有的类都是object类的子类(√)
5、python中的对象可以访问其所属类的公共属性和方法(√)
6、面向对象的基本特征:封装、继承、多态(√)
7、在Python中,变量名区分大小写(√)
8、已知字符串 s = ‘abc’,则执行print(s.replace(‘a’, ‘k’))后,输出结果为 ‘kbc’(×)
# 解析:replace会产生一个新的字符串,而不是改变原来的字符串内容
9、表达式 ‘+’.join([‘1’, ‘2’, ‘3’, ‘4’]) 的结果为 10(×)
# 解析:输出结果为 1+2+3+4
10、已知 list = [3,2,1,5],则执行语句 list = [i > 2 for i in list]后,list[1]结果为 True(×)
# 解析:先执行for循环,对于每一个元素再进行 i > 2 的判断,将得到的结果组成一个列表,再赋值给list
# list的输出结果为 [True, False, False, True]

三、填空题

1、用于表示幂运算的符号是________。 (答案:**)
2、用于表示单一注释的符号是________。 (答案:#)
3、range(1,10,3)的值为________。 (答案:[1,4,7])
4、如果要导入名为math的模块,需要使用________语句。 (答案:import math)
5、字符串可以用单引号(')或双引号________括起来。 (答案:“”)
6、调用哪三个函数可以对文件内容进行读取________。 (答案:read()、readline()、readlines())
7、while循环用于执行一个代码块,直到指定的条件为__________________。 (答案:False)
8、python中用于格式化字符串的一种新方法是使用________(f-string)。 (答案:f"{}")
9、set()函数用于创建一个集合,而________`函数用于创建一个字典。 (答案:dict())
10、异常处理使用的四个关键字分别是try, ________, else, 和________。 (答案:except,finally)

四、简答题

1、请简要介绍列表和元组的区别和联系
答案:
联系:列表和元组都是Python的数据类型。
区别:列表被创建后是可变的,可进行增、删、改操作。元组被创建后是不可变的。列表使用方括号[]来定义,元组使用	   圆括号()来定义
2、请写出Python的数据类型有哪些
答案:intfloatcomplexboolstrlisttupledictset

# 再提问:数字类型有哪些
# 答案:int、float、complex、bool

五、程序填空题

1、使用for循环计算1-100的偶数和。请补充空白处代码。
i = 1
___ = 0
while i <= ___:
    if i ___ 2 == 0:
        sum += i
    i += 1
print("1-100的偶数和为:___" % sum)
答案:sum100%%d
2、使用pymysql进行数据库的增删改查。请补充空白处代码
import pymysql

# 连接到数据库
conn = pymysql._____(host='localhost', user='root', password='password', database='users')

# 创建一个表
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users
             (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
conn.commit()

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Charlie', 35)")
conn.commit()
print(cursor.rowcount) # 结果为:______

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row) # 结果为:______

# 更新数据
cursor.execute("UPDATE users SET age=40 WHERE name='Bob'")
______

# 删除数据
cursor.execute("DELETE FROM users WHERE name='Charlie'")
conn.commit()

# 关闭连接
conn.close()
_____.close()
答案:
第一空:connect,第二空:3
第三空:
(1, 'Alice', 25)
(2, 'Bob', 30)
(3, 'Charlie', 35)(ps: 注意要换行)

第四空:conn.commit(),第五空:cursor

六、编程题

1、求12+22+32+……+1002,请编写程序完成
答案:

# 总值
sum = 0

# 循环遍历执行
for i in range(101):
	sum += i**2
print(sum)
# 注意点:range要到101
2、存储学生张三成绩的字典结构如下:
stu={“name”:“张三”,“english”:80,“python”:90,“math”:100}
(1) 请使用上述结构输入2个学生的name及3门课的成绩并存储到列表scores中。
(2) 计算每位同学的平均成绩,同时在字典中添加关键字“avg”用来表示平均成绩。
(3) 遍历列表scores,将每门课不及格的学生名单进行打印。
答案:

# 列表
scores = []
# 张三成绩
stu = {"name": "张三", "english": 80, "python": 90, "math": 100}
# 把张三添加列表
scores.append(stu)

# 输入两位同学成绩
for i in range(2):
    stu = {}  # 创建新的字典对象来存储每位同学的成绩信息
    stu['name'] = input('请输入第%d位同学的姓名: ' % (i + 1))
    stu['english'] = float(input('请输入%s的英语成绩: ' % stu['name']))
    stu['python'] = float(input('请输入%s的Python成绩: ' % stu['name']))
    stu['math'] = float(input('请输入%s的数学成绩: ' % stu['name']))
    scores.append(stu)
    
# 求每个同学的平均分并保存至字典
for score in scores:
    score['avg'] = (score['english'] + score['python'] + score['math']) / 3
    print(score['name'] + '的平均成绩为:%f' % score['avg'])

# 数学不及格的人
mathFailure = []
# 英语不及格的人
englishFailure = []
# python不及格的人
pythonFailure = []

# 打印各科不及格的同学名单
for score in scores:
    if score['math'] < 60:
        mathFailure.append(score['name'])
    if score['english'] < 60:
        englishFailure.append(score['name'])
    if score['python'] < 60:
        pythonFailure.append(score['name'])

print("数学不及格的人:")
for failure in mathFailure:
    print(failure)
print("英语不及格的人:")
for failure in englishFailure:
    print(failure)
print("Python不及格的人:")
for failure in pythonFailure:
    print(failure)

PS:因学校这学期安排了专业选修,临近期末给自己找点资源,整合一下课本内容来复习,自己写的也许有问题,但不要紧!!!

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值