跳转至

Python 模拟考试 3

考试说明

  • 单选题 20 题(40分)/ 判断题 14 题(14分)/ 填空题 3 题(30分)/ 改错题 4 题(40分)/ 编程题 2 题(26分)
  • 满分:150 分 | 建议用时:90 分钟

📝 一、单选题(每题2分,共40分)

第1题

以下哪个是Python合法的变量名?()

选项 内容
A 3name
B my-name
C _score
D class
第2题

表达式 type("3.14") 的返回值是()。

选项 内容
A \<class 'int'>
B \<class 'float'>
C \<class 'str'>
D \<class 'number'>
第3题

下列运算符中,优先级最高的是()。

选项 内容
A +
B *
C **
D //
第4题

表达式 "hello" + "world" 的结果是()。

选项 内容
A 报错
B "helloworld"
C "hello world"
D 5
第5题

已知 a = [1, 2, 3],执行 a.insert(1, 5) 后,a 的值为()。

选项 内容
A [5, 1, 2, 3]
B [1, 5, 2, 3]
C [1, 2, 5, 3]
D [1, 2, 3, 5]
第6题

表达式 True and not False or True 的结果是()。

选项 内容
A True
B False
C 报错
D 不确定
第7题

下列关于元组的说法,正确的是()。

选项 内容
A 元组中的元素可以修改
B 元组使用方括号定义
C 元组是不可变序列
D 元组不能包含列表元素
第8题

以下代码的运行结果是()。

Python
1
2
3
d = {"name": "Tom", "age": 18}
d["age"] = 20
print(len(d))
选项 内容
A 1
B 2
C 3
D 报错
第9题

表达式 max([3, 1, 4, 1, 5, 9]) 的结果是()。

选项 内容
A 1
B 5
C 9
D [9]
第10题

下列关于Python注释的说法,错误的是()。

选项 内容
A 单行注释以#开头
B 多行注释使用三引号
C 注释不会被执行
D 注释只能写在代码行末尾
第11题

以下代码的运行结果是()。

Python
1
2
3
4
x = [1, 2, 3]
y = x.copy()
y.append(4)
print(len(x))
选项 内容
A 3
B 4
C 报错
D 不确定
第12题

表达式 int("101", 2) 的结果是()。

选项 内容
A 101
B 5
C 2
D 报错
第13题

下列哪个方法可以删除字典中指定的键值对?()

选项 内容
A dict.remove()
B dict.delete()
C del dict[key]
D dict.pop(key)
第14题

以下代码的运行结果是()。

Python
s = "Hello World"
print(s.lower().count("l"))
选项 内容
A 2
B 3
C 4
D 0
第15题

Python中,用于捕获异常的关键字是()。

选项 内容
A catch
B except
C handle
D error
第16题

下列程序的输出结果是()。

Python
1
2
3
def func(*args):
    return sum(args)
print(func(1, 2, 3, 4))
选项 内容
A 报错
B [1, 2, 3, 4]
C 10
D (1, 2, 3, 4)
第17题

关于字符串格式化,下列说法错误的是()。

选项 内容
A "Hello %s" % "World" 使用%格式化
B "Hello {}".format("World") 使用format方法
C f字符串只能在Python 3.6及以上使用
D 三种格式化方式中,%格式化功能最强
第18题

下列关于列表推导式的说法,正确的是()。

选项 内容
A 列表推导式只能生成列表
B 列表推导式不能包含条件判断
C [x**2 for x in range(5)] 生成 [0, 1, 4, 9, 16]
D 列表推导式执行效率比for循环低
第19题

以下代码的运行结果是()。

Python
1
2
3
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)
选项 内容
A {3}
B {1, 2, 4, 5}
C {1, 2, 3, 4, 5}
D 报错
第20题

下列关于Python类的说法,错误的是()。

选项 内容
A __init__ 是构造方法
B self 代表实例对象本身
C 类属性被所有实例共享
D Python类不支持继承

✅ 二、判断题(每题1分,共14分)

第1题

Python中,整数和浮点数相乘,结果一定是浮点数。

第2题

print(1, 2, 3, sep="-") 的输出是 1-2-3

第3题

在Python中,None 等价于 0

第4题

字典的键值对是有序的(Python 3.7+)。

第5题

while 循环的条件表达式可以是任意类型。

第6题

使用 pop() 方法删除列表元素时,必须指定索引。

第7题

字符串 s = "" 的布尔值是 False

第8题

在函数中定义的变量,在函数外部也可以访问。

第9题

isinstance(3, int) 的返回值是 True

第10题

sorted() 函数会修改原列表的顺序。

第11题

Python中,pass 语句在语法上必须有语句但逻辑上暂时不需要操作时使用。

第12题

os 模块是Python的第三方库,需要用pip安装。

第13题

for i in "Python": 可以遍历字符串中的每个字符。

第14题

列表切片操作返回的是原列表的一个副本,修改切片结果不会影响原列表。


✏️ 三、程序填空题(每题10分,共30分)

第1题:求列表最大值

题目: 找出列表中的最大值并输出。

Python
lst = [23, 45, 12, 67, 34, 89, 56]
#**********begin1**********
max_val = _______
#**********end1**********
for num in lst:
    if num > max_val:
        #**********begin2**********
        _______
        #**********end2**********
print("最大值为:", max_val)
第2题:字符串反转函数

题目: 编写函数实现字符串反转,并在主程序中调用。

Python
def reverse_string(s):
    #**********begin1**********
    _______
    #**********end1**********

text = input("请输入字符串:")
#**********begin2**********
result = _______
#**********end2**********
print("反转后:", result)
第3题:字典统计

题目: 统计字符串中每个字符出现的次数,存入字典并输出。

Python
s = "abracadabra"
count_dict = {}
for ch in s:
    #**********begin1**********
    _______
    #**********end1**********
        count_dict[ch] = 1
    else:
        #**********begin2**********
        _______
        #**********end2**********
print(count_dict)

🔧 四、程序改错题(每题10分,共40分)

第1题:素数判断

题目: 判断一个数是否为素数(质数)。

Python
def is_prime(n):
    if n <= 1:
        return False
    #**********begin1**********
    for i in range(2, n):
    #**********end1**********
        #**********begin2**********
        if n / i == 0:
        #**********end2**********
            return False
    return True

num = int(input("请输入一个正整数:"))
#**********begin3**********
if is_prime(num):
    print(num, "是素数")
else
    print(num, "不是素数")
#**********end3**********
第2题:列表元素查找

题目: 在列表中查找指定元素,返回其索引,找不到返回-1。

Python
def find_element(lst, target):
    #**********begin1**********
    for i in range(len(lst)):
    #**********end1**********
        #**********begin2**********
        if lst[i] == target:
            return i
        else:
            return -1
    #**********end2**********
    return -1

nums = [10, 20, 30, 40, 50]
#**********begin3**********
result = find_element(nums, "30")
#**********end3**********
print("索引为:", result)
第3题:矩阵转置

题目: 将3×3矩阵转置(行变列,列变行)。

Python
matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
result = []
#**********begin1**********
for i in range(4):
#**********end1**********
    row = []
    for j in range(3):
        #**********begin2**********
        row.append(matrix[j][i])
        #**********end2**********
    result.append(row)

#**********begin3**********
for r in result:
    print(r)
#**********end3**********
第4题:读取文件统计行数

题目: 读取文件内容并统计文件行数。

Python
def count_lines(filename):
    #**********begin1**********
    f = open(filename, "w")
    #**********end1**********
    lines = f.readlines()
    count = len(lines)
    #**********begin2**********
    return count
    #**********end2**********

#**********begin3**********
total = count_lines("data.txt")
print("行数:" + total)
#**********end3**********

💻 五、程序设计题(每题13分,共26分)

第1题:打印菱形星号

题目: 编写程序,打印如下菱形星号图案(n=5):

Text Only
1
2
3
4
5
    *
   ***
  *****
   ***
    *

要求:程序能根据输入的奇数n打印对应大小的菱形。

第2题:通讯录管理

题目: 编写程序实现简单的通讯录管理,功能如下:

  1. 添加联系人(姓名和电话)
  2. 删除联系人(按姓名)
  3. 查询联系人(按姓名,显示电话)
  4. 显示所有联系人
  5. 输入0退出程序

示例交互:

Text Only
1
2
3
4
5
6
1.添加 2.删除 3.查询 4.显示所有 0.退出: 1
输入姓名: 张三
输入电话: 13800138000
添加成功!
1.添加 2.删除 3.查询 4.显示所有 0.退出: 4
张三: 13800138000