跳转至

Python 模拟考试 1

考试说明

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

📝 一、单选题

第 1 题

Python语言中,以下哪个不是合法的变量名?

选项 内容
A _name
B my_var
C 2nd_value
D student_name
第 2 题

下列关于Python语言的说法中,不正确的是()。

选项 内容
A Python是一种解释型语言
B Python使用缩进来表示代码块
C Python中一行只能写一条语句
D Python是一种面向对象的语言
第 3 题

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

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

以下哪种数据类型是不可变的?()

选项 内容
A 列表
B 字典
C 集合
D 元组
第 5 题

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

选项 内容
A 5
B 5.0
C 6
D 5.67
第 6 题

下列表达式中,结果为True的是()。

选项 内容
A True and False
B not True
C False or True
D not (True or False)
第 7 题

表达式 2 ** 3 ** 2 的结果是()。

选项 内容
A 64
B 512
C 36
D 81
第 8 题

字符串 "Python"[1:4] 的结果是()。

选项 内容
A "Pyt"
B "yth"
C "ytho"
D "tho"
第 9 题

以下关于字符串方法的描述,错误的是()。

选项 内容
A split() 将字符串按指定分隔符拆分为列表
B join() 将序列中的字符串连接为一个字符串
C replace() 直接修改原字符串的内容
D find() 找不到子串时返回-1
第 10 题

表达式 "ababab".count("ab") 的结果是()。

选项 内容
A 1
B 2
C 3
D 6
第 11 题

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

选项 内容
A 列表中的元素可以是不同类型
B 列表可以使用负数索引
C 列表是不可变数据类型
D 列表支持切片操作
第 12 题

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

选项 内容
A [1, 2, 3, 4, 5]
B [1, 2, 3, [4, 5]]
C [[1, 2, 3], [4, 5]]
D 报错
第 13 题

已知 d = {'a': 1, 'b': 2, 'c': 3},以下操作会报错的是()。

选项 内容
A d['a']
B d.get('d')
C d['d']
D 'a' in d
第 14 题

表达式 len(set([1, 2, 2, 3, 3, 3])) 的结果是()。

选项 内容
A 6
B 3
C 1
D 报错
第 15 题

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

选项 内容
A 函数必须有return语句
B 函数可以有多个return语句
C 函数只能返回一个值
D 函数定义时必须指定参数类型
第 16 题

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

Python
1
2
3
    def func(a, b=2):
        return a * b
    print(func(3))
选项 内容
A 3
B 6
C 报错
D 5
第 17 题

for i in range(1, 10, 3): 中,i 依次取值为()。

选项 内容
A 1, 2, 3
B 1, 4, 7
C 1, 4, 7, 10
D 3, 6, 9
第 18 题

下列关于break和continue的说法,正确的是()。

选项 内容
A break只跳过当前这一次循环
B continue跳出整个循环
C break跳出整个循环
D break和continue功能相同
第 19 题

尝试访问列表中不存在的索引时,会抛出()异常。

选项 内容
A ValueError
B KeyError
C IndexError
D TypeError
第 20 题

要从列表 [10, 20, 30, 40, 50] 中随机选取2个不重复的元素,应使用()。

选项 内容
A random.choice()
B random.sample()
C random.shuffle()
D random.randint()
第 21 题

下列程序执行后,输出结果是()。

Python
1
2
3
    x = "hello"
    x[0] = "H"
    print(x)
选项 内容
A Hello
B hello
C 报错
D HELLO
第 22 题

下列值中,在布尔上下文中为False的是()。

选项 内容
A "0"
B [0]
C {0:0}
D 0.0
第 23 题

下列关于 input() 函数的说法,正确的是()。

选项 内容
A input()返回值的类型取决于用户输入
B input()可以接收整数输入
C input()始终返回字符串类型
D input()和print()功能相同
第 24 题

以下文件打开模式中,用于追加写入的是()。

选项 内容
A 'r'
B 'w'
C 'a'
D 'x'

✅ 二、判断题


第1题

Python中列表和字符串都支持切片操作。

第2题

Python中字典的键和值都必须是字符串类型。

第3题

在Python中,if、elif、else后面的代码块必须缩进。

第4题

for循环只能用于遍历列表,不能遍历字符串和元组。

第5题

Python中,0、0.0、""、[]、None在布尔上下文中都等价于False。

第6题

在函数内部修改全局变量时,不需要使用global关键字声明。

第7题

Python中,字符串的split()方法如果不指定参数,默认按空白字符分割。

第8题

set(集合)中的元素是有序的,可以通过索引访问。

第9题

while循环的循环次数在编写程序时不需要预先确定。

第10题

Python中,==和is的作用完全相同。

第11题

for...else结构中,当循环正常结束(未被break中断)时,else块会执行。

第12题

使用list.append()方法可以向列表指定位置插入元素。

第13题

Python中,del关键字可以删除列表中的元素,也可以删除变量。

第14题

字符串方法strip()可以去除字符串中间的空白字符。

✏️ 三、程序填空题


第1题:计算1~100所有偶数的和

题目: 计算1到100中所有偶数的和,并输出结果。

原始代码(含填空):

Python
    total = 0
    i = 1
    #**********begin1**********
    _______
    #**********end1**********
        if i % 2 == 0:
            #**********begin2**********
            _______
            #**********end2**********
        #**********begin3**********
        _______
        #**********end3**********
    print("1到100所有偶数的和为:", total)
第2题:判断奇偶函数

题目: 编写函数判断一个整数是偶数还是奇数,并在主程序中调用。

原始代码(含填空):

Python
    def is_even(n):
        #**********begin1**********
        _______
        #**********end1**********
            return True
        else:
            return False

    num = int(input("请输入一个整数:"))
    #**********begin2**********
    _______
    #**********end2**********
    if result:
        print(num, "是偶数")
    else:
        print(num, "是奇数")
第3题:列表排序与切片

题目: 将成绩列表升序排序,并输出最高3个成绩。

原始代码(含填空):

Python
1
2
3
4
5
6
7
8
    scores = [85, 92, 78, 90, 66, 88, 73]
    #**********begin1**********
    _______
    #**********end1**********
    print("升序排列:", scores)
    #**********begin2**********
    print("最高3个成绩:", _______)
    #**********end2**********

🔧 四、程序改错题


第1题:水仙花数判断

题目: 判断用户输入的三位数是否为水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身,如153 = 1³+5³+3³。

原始代码(含错误):

Python
    num = int(input("请输入一个三位数:"))
    #**********begin1**********
    bai = num / 100
    #**********end1**********
    shi = num // 10 % 10
    ge = num % 10
    #**********begin2**********
    if bai ** 3 + shi ** 3 + ge ** 3 = num:
    #**********end2**********
        print(num, "是水仙花数")
    #**********begin3**********
    else
    #**********end3**********
        print(num, "不是水仙花数")
第2题:列表求平均值

题目: 计算列表中所有元素的平均值并输出。

原始代码(含错误):

Python
    lst = [85, 92, 78, 90, 66]
    total = 0
    #**********begin1**********
    for i in range(lst):
    #**********end1**********
        total = total + lst[i]
    #**********begin2**********
    avg = total % len(lst)
    #**********end2**********
    #**********begin3**********
    print("平均值为:" + avg)
    #**********end3**********
第3题:字符串统计

题目: 统计字符串中字母和数字的个数。

原始代码(含错误):

Python
    s = input("请输入字符串:")
    letter = 0
    digit = 0
    #**********begin1**********
    for ch in s
    #**********end1**********
        #**********begin2**********
        if ch.isalpha():
            letter += 1
        elif ch.isdigit
            digit += 1
        #**********end2**********
    #**********begin3**********
    print("字母:", letter, "数字:", digit
    #**********end3**********
第4题:文件写入

题目: 将学生成绩列表写入文件。

原始代码(含错误):

Python
    scores = ["张三:85", "李四:92", "王五:78"]
    #**********begin1**********
    f = open("scores.txt", "r")
    #**********end1**********
    #**********begin2**********
    for score in scores:
        f.writeline(score + "\n")
    #**********end2**********
    #**********begin3**********
    f.close
    #**********end3**********

💻 五、程序设计题


第1题:打印数字三角形

题目: 编写程序,打印如下数字三角形:

Python
1
2
3
4
5
    1
    1 2
    1 2 3
    1 2 3 4
    1 2 3 4 5
第2题:计算1到100中所有3的倍数的和

题目: 计算1到100中所有3的倍数的和,格式化输出:1到100中3的倍数的和为:1683