跳转至

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中,00.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