跳转至

Python 模拟考试 4

考试说明

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

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

第1题

Python中,以下哪个不是合法的标识符?()

选项 内容
A _private
B MAX_SIZE
C for
D student1
第2题

表达式 5 % 2 + 5 // 2 的结果是()。

选项 内容
A 3
B 3.0
C 4
D 4.0
第3题

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

选项 内容
A 字符串是不可变类型
B 字符串可以用单引号或双引号定义
C 字符串支持索引和切片操作
D 字符串可以直接通过索引修改字符
第4题

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

Python
1
2
3
4
a = [1, 2, 3]
b = a
b[0] = 10
print(a[0])
选项 内容
A 1
B 10
C 报错
D 不确定
第5题

表达式 "Python"[-1] 的结果是()。

选项 内容
A "P"
B "n"
C "o"
D 报错
第6题

下列哪个不是Python的内置函数?()

选项 内容
A len()
B print()
C add()
D type()
第7题

关于Python中函数参数传递,下列说法正确的是()。

选项 内容
A 实参和形参必须同名
B 函数调用时必须提供所有参数的值
C Python支持默认参数和可变参数
D 函数只能返回一个值
第8题

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

Python
1
2
3
4
5
6
x = 10
def func():
    x = 20
    print(x, end=" ")
func()
print(x)
选项 内容
A 20 20
B 20 10
C 10 10
D 报错
第9题

表达式 list("ABC") 的结果是()。

选项 内容
A "ABC"
B ["ABC"]
C ['A', 'B', 'C']
D 报错
第10题

下列关于Python文件操作的说法,错误的是()。

选项 内容
A with语句可以自动关闭文件
B read()方法读取整个文件内容
C readline()方法读取所有行
D "rb"模式表示二进制读取
第11题

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

Python
1
2
3
lst = [3, 1, 4, 1, 5]
lst.sort(reverse=True)
print(lst)
选项 内容
A [1, 1, 3, 4, 5]
B [5, 4, 3, 1, 1]
C [3, 1, 4, 1, 5]
D None
第12题

表达式 10 / 3 + 10 // 3 的结果是()。

选项 内容
A 6.0
B 6.33...
C 6
D 5
第13题

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

选项 内容
A 元组使用圆括号定义
B 元组是不可变序列
C 单个元素的元组写作 (1,)
D 元组不支持索引访问
第14题

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

Python
s = "Python Programming"
print(s.find("thon"))
选项 内容
A 2
B 3
C -1
D True
第15题

下列哪个表达式可以判断变量x是否为偶数?()

选项 内容
A x / 2 == 0
B x % 2 == 0
C x // 2 == 0
D x ** 2 == 0
第16题

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

Python
1
2
3
4
5
def f(x, y=[]):
    y.append(x)
    return y
print(f(1))
print(f(2))
选项 内容
A [1] [2]
B [1] [1, 2]
C [1, 2] [1, 2]
D 报错
第17题

表达式 "hello".capitalize() 的结果是()。

选项 内容
A HELLO
B Hello
C hello
D hELLO
第18题

下列关于Python列表切片的说法,正确的是()。

选项 内容
A 切片会修改原列表
B lst[::-1] 返回原列表的反转副本
C 切片的步长不能为负数
D 切片结果与原列表共享同一块内存
第19题

下列哪个选项可以正确创建一个空集合?()

选项 内容
A {}
B set()
C []
D ()
第20题

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

Python
1
2
3
4
5
6
x = 0
for i in range(1, 6):
    if i % 2 == 0:
        continue
    x += i
print(x)
选项 内容
A 15
B 9
C 6
D 4

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

第1题

Python中,3 + 4j 是合法的复数表示。

第2题

tuple() 可以将列表转换为元组。

第3题

字典的 keys() 方法返回的是一个列表。

第4题

Python中,字符串的 * 运算符可以重复字符串。

第5题

if 语句可以没有 else 子句。

第6题

函数定义时,带默认值的参数必须放在没有默认值的参数后面。

第7题

list.remove(x) 方法会删除列表中所有值为x的元素。

第8题

Python中的 elif 可以单独使用,不需要与 if 配对。

第9题

字符串方法 join() 的调用者是分隔符,参数是要连接的序列。

第10题

dict.pop(key)del dict[key] 的功能完全相同。

第11题

Python中,while 循环可以嵌套使用。

第12题

使用 import math 后,可以直接使用 sqrt() 函数。

第13题

Python中,True + True 的结果是 2。

第14题

random.randrange(1, 10)random.randint(1, 10) 生成的随机整数范围相同。


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

第1题:计算阶乘

题目: 计算用户输入的正整数n的阶乘。

Python
1
2
3
4
5
6
7
n = int(input("请输入一个正整数:"))
result = 1
#**********begin1**********
_______
#**********end1**********
    result = result * i
print(n, "的阶乘为:", result)
第2题:查找列表中的最大值和最小值

题目: 找出列表中的最大值和最小值。

Python
nums = [34, 12, 56, 78, 23, 45, 67, 89]
#**********begin1**********
max_num = _______
min_num = _______
#**********end1**********
for num in nums:
    if num > max_num:
        max_num = num
    #**********begin2**********
    _______
    #**********end2**********
        min_num = num
print("最大值:", max_num, "最小值:", min_num)
第3题:字符串大小写转换

题目: 将字符串中的大写字母转为小写,小写字母转为大写。

Python
s = input("请输入字符串:")
result = ""
for ch in s:
    #**********begin1**********
    _______
    #**********end1**********
        result += ch.lower()
    else:
        #**********begin2**********
        _______
        #**********end2**********
print("转换后:", result)

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

第1题:判断回文字符串

题目: 判断输入的字符串是否为回文字符串(正读反读相同)。

Python
1
2
3
4
5
6
7
s = input("请输入字符串:")
#**********begin1**********
if s == s.reverse():
#**********end1**********
    print(s, "是回文字符串")
else:
    print(s, "不是回文字符串")
第2题:统计单词数量

题目: 统计字符串中英文单词的数量。

Python
1
2
3
4
5
6
7
8
text = input("请输入一段英文:")
#**********begin1**********
words = text.split("")
#**********end1**********
#**********begin2**********
count = words.len()
#**********end2**********
print("单词数量:", count)
第3题:计算列表中偶数的平均值

题目: 计算列表中偶数的平均值。

Python
nums = [12, 15, 8, 23, 16, 9, 4, 31, 20]
even_nums = []
#**********begin1**********
for num in nums:
    if num / 2 == 0:
        even_nums.append(num)
#**********end1**********
#**********begin2**********
avg = sum(even_nums) / len(even_nums)
#**********end2**********
#**********begin3**********
print("偶数的平均值为:" + avg)
#**********end3**********
第4题:类与对象

题目: 定义一个矩形类,包含长和宽,并计算面积和周长。

Python
class Rectangle:
    #**********begin1**********
    def __init__(self, length, width)
    #**********end1**********
        self.length = length
        self.width = width

    def area(self):
        return self.length * self.width

    #**********begin2**********
    def perimeter(self):
        return 2 * (self.length + self.width
    #**********end2**********

rect = Rectangle(5, 3)
#**********begin3**********
print("面积:", area())
print("周长:", rect.perimeter())
#**********end3**********

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

第1题:杨辉三角

题目: 编写程序,打印n行杨辉三角。例如n=6时:

Text Only
1
2
3
4
5
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

要求:程序能根据输入的行数n打印对应的杨辉三角。

第2题:成绩等级判断

题目: 编写程序,输入学生成绩(0~100的整数),输出对应的等级。

等级规则: - 90~100:优秀 - 80~89:良好 - 70~79:中等 - 60~69:及格 - 0~59:不及格

要求: 1. 输入多个学生成绩,输入-1结束 2. 统计各等级人数 3. 输出统计结果

示例输出:

Text Only
1
2
3
4
5
优秀: 3人
良好: 5人
中等: 4人
及格: 2人
不及格: 1人