为python新手准备的基础知识小测验,分为数据类型及操作、函数、综合题三部分,总分100分。

[]内表示题目的分值。

数据类型及相关操作 [40]

  1. 如何判断一个变量是int类型?(此变量可能是任意类型) [3]
  2. // 和 / 有什么区别? [2]
  3. float类型的精度是什么意思,平时需要注意什么? [4]
  4. 0b1110, 0o16, 0xE,14 这四种写法分别是什么含义? 他们相等吗? [2]
  5. 看以下代码 [2]
a = "A" or "a" in ["b", "c"]
if a:
    print("there is a(or A) in list")

写出它的执行结果,分析其存在的问题。

  1. 看以下代码 [3]
s = "hello"
s.replace("e", "a")  # 替换e为a
print(s)

写出它的执行结果,分析其存在的问题。

  1. 看以下代码 [3]
a = "10"
print(a + 20)

你认为此段代码的运行结果是:

A. 30 B. 1020 C. 报错 D. 以上都不是
  1. 看以下代码 [5]
a = (2)
b = (2,)
c = 3,
d = {3}
e = {}

分别写出a,b,c,d,e5个变量的类型。

  1. 看以下代码 [3]
a = [1,2,3]
a.append(a)

请回答,这段代码

A. 会报错,列表不能append自己
B. 无报错,append后a长度为4
C. 无报错,append后a长度无限
D. 无报错,但是如果print(a)会报错
  1. list的很多方法是IN PLACE的,请解释IN PLACE的含义。 [5]
  2. dict的key和value的类型是否有特殊要求? [4]
  3. 看以下代码 [3]
a = [[1, 2]] * 2
a[0].append(3)

请写出a的值,并解释。

  1. 解释关键字del的作用,它和pop方法有什么区别? [3]
  2. 看以下代码 [4]
a = "a\n\t\\n"
b = r"a\\b\n"
print(list(a))
print(list(b))

写出其执行结果。

  1. 写出以下几行代码的结果 [4]
"100" < "101"
"100" < "99"
{1,2,3} == {1,3,2}
{1,2} < {1,2,3}

控制语句 [25]

  1. python的缩进是什么作用? [2]

  2. 关于if说法错误的有: [3]

    A. if后必须有else
    B. if不能嵌套使用
    C. if是循环语句
    D. if很有用
  3. 简述pass的作用,并举例说明。 [5]

  4. 简述return, break, continue的作用 [5]

  5. 以下代码

a = [1, 3, 4, 4, 5, 6, 8]
b = []
for i in a:
        if i % 2 == 0:
                b.append(2**i)
print(b)

考虑以下问题

1) 请将此代码改用while实现相同的功能。 [5]
2) 用list comprehension实现相同的功能。 [5]

函数及内置函数 [25]

  1. 以下函数 [5]
def foo(a, *b, **c):
    pass

实际调用foo(1,2,3,4,5,d=6,e=7)时,b和c的值分别是什么?

  1. 关于函数,以下说法错误的有: [2]

    A. 应尽可能的将代码分离为单独的函数,以便代码复用
    B. 规范的命名中,函数名用is和has开头的应返回bool类型的值
    C. 函数不需要写注释和文档,自己写的爽最重要
    D. 函数在return之后仍然可以继续执行
    E. return作用不大,可以用print替代
    F. 函数内部应尽量不使用全局变量,保持功能的独立和可移植性
  2. 关于递归,以下说法错误的有: [5]

    A. 递归函数十分强大,应尽可能多的使用
    B. 递归函数必须指定递归的终止条件
    C. 递归函数有最大层数(深度)限制
    D. 递归可以简单化问题,但是不用递归同样可以解决问题
  3. 简述str函数和repr函数的区别。 [3]

  4. 看以下代码 [5]

input = 50

请问此代码是否会报错,此代码这样写有哪些不好的影响?

  1. 类的方法(或者叫成员函数) 与 普通的函数有什么区别? [5]

综合题 [10]

打印九九乘法表

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
....
def print_table():
    #代码写在这里
comments powered by Disqus