跳转至

Python 模拟考试 6

考试说明

  • 单选题 24 题 / 判断题 14 题 / 填空题 3 题 / 改错题 4 题 / 编程题 2 题
  • 建议用时:90 分钟

📝 一、单选题

第 1 题

表达式 int(3.9) 的结果是()。

选项 内容
A 3.9
B 3
C 4
D 报错
第 2 题

下列关于Python赋值的说法,正确的是()。

选项 内容
A a = b = 5 是非法的
B a, b = 1, 2 执行后 a=1, b=2
C a, b = 1 是合法的
D Python不支持链式赋值
第 3 题

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

Python
lst = [10, 20, 30, 40, 50]
print(lst[1:4:2])
选项 内容
A [10, 30]
B [20, 40]
C [20, 40, 50]
D [10, 30, 50]
第 4 题

下列哪个表达式的结果为 True?()

选项 内容
A "abc" == "ABC"
B "abc" > "abd"
C "9" < "123"
D "hello" in "helloworld"
第 5 题

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

Python
s = "Python"
print(s[-3:])
选项 内容
A "tho"
B "hon"
C "Pyt"
D "on"
第 6 题

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

选项 内容
A 字典的键必须是唯一的
B 字典的值可以是任意类型
C 对同一个键多次赋值,会保留所有值
D 字典是可变数据类型
第 7 题

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

Python
1
2
3
4
a = [1, 2, 3]
b = a.copy()
b[0] = 100
print(a[0])
选项 内容
A 100
B 1
C [1, 2, 3]
D 报错
第 8 题

表达式 sum(range(1, 6)) 的结果是()。

选项 内容
A 10
B 15
C 5
D 6
第 9 题

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

Python
1
2
3
4
def greet(name="World"):
    print("Hello, " + name)
greet()
greet("Python")
选项 内容
A Hello, World 和 Hello, Python
B Hello, Python 和 Hello, World
C 报错
D Hello, 和 Hello, Python
第 10 题

以下关于 enumerate() 函数的说法,正确的是()。

选项 内容
A enumerate() 只能用于列表
B enumerate() 返回索引和值组成的元组
C enumerate() 会修改原序列
D enumerate() 的索引从1开始
第 11 题

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

Python
x = [i * 2 for i in range(5)]
print(x)
选项 内容
A [0, 2, 4, 6, 8]
B [1, 2, 3, 4, 5]
C [2, 4, 6, 8, 10]
D [0, 1, 2, 3, 4]
第 12 题

关于Python异常处理,下列说法正确的是()。

选项 内容
A try 语句块可以没有 except
B 一个 try 只能有一个 except
C finally 块只在发生异常时执行
D else 块在发生异常时执行
第 13 题

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

Python
t = (1,)
print(type(t))
选项 内容
A \<class 'int'>
B \<class 'tuple'>
C \<class 'list'>
D \<class 'str'>
第 14 题

表达式 "Hello Python".split() 的结果是()。

选项 内容
A ["Hello", "Python"]
B "Hello", "Python"
C ["Hello Python"]
D 报错
第 15 题

下列关于 global 关键字的说法,正确的是()。

选项 内容
A 在函数外也必须使用 global 声明变量
B global 用于在函数内声明要修改的全局变量
C 使用 global 后局部变量和全局变量互不影响
D global 可以创建新的局部变量
第 16 题

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

Python
s = "abcabc"
print(s.replace("a", "x", 1))
选项 内容
A "xbcxbc"
B "xbcabc"
C "abcabc"
D "xXxXbc"
第 17 题

以下哪个方法可以获取字典中所有的值?()

选项 内容
A dict.items()
B dict.keys()
C dict.values()
D dict.all()
第 18 题

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

Python
1
2
3
4
5
result = []
for i in range(10):
    if i % 3 == 0:
        result.append(i)
print(result)
选项 内容
A [0, 3, 6, 9]
B [3, 6, 9]
C [1, 2, 4, 5, 7, 8]
D [0, 1, 2, 3]
第 19 题

关于 while 循环,下列说法错误的是()。

选项 内容
A while 循环可能一次都不执行
B while True 是无限循环
C while 循环条件为假时自动退出
D while 循环必须使用计数器控制
第 20 题

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

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

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

Python
x = 5
def outer():
    x = 10
    def inner():
        nonlocal x
        x = 20
    inner()
    print(x, end=" ")
outer()
print(x)
选项 内容
A 20 5
B 10 5
C 20 20
D 报错
第 22 题

表达式 bool("") 的结果是()。

选项 内容
A True
B False
C ""
D 报错
第 23 题

以下关于 with 语句的说法,正确的是()。

选项 内容
A with 语句只能用于文件操作
B with 语句可以确保资源被正确释放
C with 语句打开的文件需要手动关闭
D with 语句不能处理异常
第 24 题

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

Python
lst = [3, 1, 4, 1, 5, 9, 2, 6]
print(lst[3:8:2])
选项 内容
A [4, 5, 2]
B [1, 5, 9]
C [1, 9, 6]
D [3, 4, 5, 2]

✅ 二、判断题

第1题

Python中,0 和 0.0 的布尔值相同,都是 False。

第2题

字符串方法 upper() 会将原字符串修改为大写形式。

第3题

list.pop() 不带参数时,默认删除并返回列表的最后一个元素。

第4题

Python中,元组内的列表元素是可以修改的。

第5题

dict.setdefault(key, default) 方法在键已存在时会修改该键的值。

第6题

在Python中,and 运算符的优先级高于 or 运算符。

第7题

str.zfill(width) 方法可以在字符串左侧填充0使字符串达到指定宽度。

第8题

Python中,float("inf") 表示正无穷大。

第9题

list.sort() 和 sorted(list) 的功能完全相同,都会修改原列表。

第10题

函数中如果没有 return 语句,函数将返回 None。

第11题

zip() 函数可以将多个可迭代对象的元素按位置打包成元组。

第12题

Python中,一个 .py 文件就是一个模块。

第13题

字典推导式 {k: v for k, v in items} 是Python支持的语法。

第14题

math.floor(-2.3) 的结果是 -2。

✏️ 三、程序填空题

第1题:统计正负数个数

题目: 从键盘输入若干整数(输入0结束),统计正数和负数的个数。

Python
positive = 0
negative = 0
while True:
    num = int(input("请输入一个整数(0结束):"))
    #**********begin1**********
    _______
    #**********end1**********
        break
    #**********begin2**********
    _______
    #**********end2**********
        positive += 1
    else:
        negative += 1
print("正数:", positive, "个")
print("负数:", negative, "个")
第2题:冒泡排序优化

题目: 对列表使用冒泡排序进行升序排列(如果某轮没有交换则提前结束)。

Python
lst = [64, 34, 25, 12, 22, 11, 90]
n = len(lst)
for i in range(n - 1):
    #**********begin1**********
    _______
    #**********end1**********
    for j in range(0, n - i - 1):
        if lst[j] > lst[j + 1]:
            lst[j], lst[j + 1] = lst[j + 1], lst[j]
            #**********begin2**********
            _______
            #**********end2**********
    #**********begin3**********
    _______
    #**********end3**********
print("排序后:", lst)
第3题:字符串加密

题目: 将字符串中的每个字母替换为字母表中其后一个字母(z替换为a,Z替换为A),非字母字符不变。

Python
s = input("请输入字符串:")
result = ""
for ch in s:
    if 'a' <= ch <= 'z':
        #**********begin1**********
        _______
        #**********end1**********
    elif 'A' <= ch <= 'Z':
        #**********begin2**********
        _______
        #**********end2**********
    else:
        result += ch
print("加密后:", result)

🔧 四、程序改错题

第1题:求最大公约数

题目: 使用辗转相除法求两个正整数的最大公约数。

Python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
#**********begin1**********
while a / b != 0:
#**********end1**********
    #**********begin2**********
    a = b
    b = a % b
    #**********end2**********
#**********begin3**********
print("最大公约数:", a)
#**********end3**********
第2题:列表去重保持顺序

题目: 删除列表中的重复元素,同时保持原始顺序。

Python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
#**********begin1**********
result = {}
#**********end1**********
for item in lst:
    #**********begin2**********
    if item not in lst:
    #**********end2**********
        result.append(item)
#**********begin3**********
print("去重后:", result)
#**********end3**********
第3题:统计元音字母

题目: 统计字符串中元音字母(a, e, i, o, u)的个数,不区分大小写。

Python
s = input("请输入字符串:")
count = 0
#**********begin1**********
for i in range(1, len(s)):
#**********end1**********
    #**********begin2**********
    if s[i].lower in "aeiou":
    #**********end2**********
        count += 1
#**********begin3**********
print("元音字母个数:" + count)
#**********end3**********
第4题:斐波那契数列

题目: 输出斐波那契数列的前n项。

Python
n = int(input("请输入项数:"))
#**********begin1**********
a, b = 0, 1
for i in range(n):
#**********end1**********
    print(a, end=" ")
    #**********begin2**********
    a = b
    b = a + b
    #**********end2**********

💻 五、程序设计题

第1题:统计单词频率

题目: 编写程序,输入一段英文,统计每个单词出现的次数,并按次数从高到低输出。

要求: 1. 不区分大小写("The" 和 "the" 算同一个单词) 2. 忽略标点符号(只保留字母和空格) 3. 按出现次数从高到低排序输出

示例输入: the cat sat on the mat the cat

示例输出:

Text Only
1
2
3
4
5
the: 3
cat: 2
sat: 1
on: 1
mat: 1
第2题:学生成绩管理

题目: 编写程序实现学生成绩管理,功能如下:

  1. 添加学生(姓名和3科成绩)
  2. 按姓名查询学生成绩
  3. 显示所有学生信息及平均分
  4. 按平均分从高到低排序显示
  5. 输入0退出

要求:使用字典存储学生信息,字典的键为姓名,值为3科成绩的列表。

示例交互:

Text Only
1
2
3
4
5
6
1.添加 2.查询 3.显示全部 4.按平均分排序 0.退出: 1
输入姓名: 张三
输入3科成绩(空格分隔): 85 90 78
添加成功!
1.添加 2.查询 3.显示全部 4.按平均分排序 0.退出: 3
张三: [85, 90, 78] 平均分: 84.33