一、单项选择题(每题 2 分,共 20 分)

1. 以下关于计算机和程序设计的说法错误的是( )。

A. 高级编程语言按照计算机执行方式可分为静态语言和脚本语言

B. 编译是将源代码转换成目标代码的过程

C. IPO 方法是一种按输入数据、处理数据和输出数据的程序运算模式

D. Python 3.x 能够向下兼容 2.x 系列程序

2. 下面不符合 Python 语言命名规则的变量名是( )。

A. monthly B. monthly3 C. 3monthly D. _Monthly3_

3.下列表达式值为 True 的是( )。

A. 5+4j > 2-3j B. 3 > 2 > 2 C. 1 == 1 and 2 != 1 D. not(1==1and 0!=1)

4. 表达式 eval(‘500/10’)的结果是( )。

A. ‘500/10’ B. 500/10 C. 50 D. 50.0

5. 执行下列语句后显示的结果是( )。 >>> from math import sqrt >>> print( sqrt(3)*sqrt(3) == 3 ) A. 3 B. True C. False D. sqrt(3)*sqrt(3) == 3

6. 设 s = “Hello Python!”,则 s[3:8]的值是( )。

A. ’llo Py’ B. ’lo Py’ C. ’llo P’ D. ’lo Pyt’

7. 循环结构可以使用 Python 语言中的( )语句实现。

A . print B. while C. loop D. if

8. Python 提供的一个元素全为字符串的列表写入文件的函数是( )。

A . write B. writeall C. writelist D. writelines

9. 下面不是正确的字典创建方式的是( )。

A . d={1:[1,2],3:[3,4]} B. d={[1,2]:1,[3,4]:3} C. d={(1,2):1,(3,4):3} D. d={1:(1,2),3:(3,4)}

10. 以下选项中不是 Python 科学计算和数据分析的第三方库的是( )。

A . pandas B. numpy C. scipy D. requests

二、程序填空题(每空 2 分,共 10 分)

1、请写出计算 x = 2 10 -1 的 python 表达式__________

2、利用 Python 内置函数及 jieba 库中已有函数,计算字符串 s 的中文字符个数及中文词语 个数。

import jieba s = “中国举办冬奥会”

n = __________

m = __________

print(“中文字符数为{},中文词语数为{}。”.format(n, m))

3、变量 val = (3), 则 type(val)为__________

4、ls = list(range(5)),则 print(ls)的输出为__________

三、程序理解题(每题 6 分,共 30 分)

1、请写出下列程序的输出结果:

for s in “python”:

if s==”h”:

continue

print(s, end=””)

2、请写出下列程序的输出结果:

n = 1

def func(a, b):

n = b

return a*b

s = func(“Hello~”, 2)

print(s, n)

3、请写出下列程序的输出结果:

Dcountry = {“中国”:”北京”, ”美国”:”华盛顿”, ”法国”:”巴黎”}

for val in Dcountry:

print(val)

4、对于以下程序,请写出当从键盘输入为 5 时程序的输出结果。

try:

alp = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”

idx = eval(input(“请输入一个整数:”))

print(alp[idx])

except NameError:

print(“print 1”)

else:

print(“print 2”)

finally:

print(“print 3”)

5、请写出下列程序的输出结果:

def func(s, i, j):

if i < j:

func(s, i+1, j-1)

s[i], s[j] = s[j], s[i]

def main():

a = [10,6,23,-90,0,3]

func(a, 0, len(a)-1)

print(a)

main()

四、Python 编程题(每题 10 分,共 40 分)

1、采用递归的方法编写函数 fact(n)计算 n 的阶乘并返回计算结果。

2、编写函数,输入任意大的自然数,输出各位数字之和。

3、编写程序统计文本文件 sample.txt(假设 sample.txt 与程序文件位于同一目录下)中最长 行的长度和该行的内容,并返回统计结果。

4、编写程序完成以下功能。 ①使用 numpy 库创建出一个 3 行 5 列的全 1 的数组 a; ②使用 numpy 库创建出一个 3 行 5 列的随机数组 b; ③使用 numpy 库计算数组 a 和数组 b 的和,并将结果保存到 a 中

答案

一、单项选择题

1-10: DCCDC BBDBD

二、程序填空题

1 、 x=2**10-1 或 者 x=pow(2,10)-1

2、len(s),len(jieba.lcut(s))

3.

4、[0, 1, 2, 3, 4]

三、程序理解题

1、 pyton

2、 Hello~Hello~ 1

3、 中国

美国

法国

4、 F print 2 print 3

5、 [3, 0, -90, 23, 6, 10]

四、Python 编程题

1、def fact(n):

if n == 0:

return 1

return n*fact(n-1)

2、def getSum(n):

s = str(n)

sum = 0

for x in s:

sum += eval(x)

return int(sum)

3.

4、

import numpy as np

a = np.ones((3, 5))

b = np.random.rand(3,5)

np.add(a, b, a)