第五周:字符串
1.字符串s长度为奇数,则显示中间字符的表达式为(B.s[len(s)/2])。
2.若 s = 'What is your name', 则 s[11:2:-2] 的结果为('ro it' 或 ro it 或 "ro it")。
3.下载并遍历 names.txt 文件,输出长度最长的回文人名(TREFFERT)。
4.当输入为 'hello'时,写出下列程序的输出结果:s = raw_input() y = 0 for i in s: y += 1 print y, i(1 h 2 e 3 l 4 l 5 o)。
5.当输入为 ‘cbabc’ 时,下列程序的输出结果为?
s1 = raw_input() index = 0 s2 = '' while index < len(s1) - 1: if s1[index] > s1[index + 1]: s2 += s1[index] else: s2 = s2 * 2 index += 1 print s2(cbcbcbcb)。
第六周:列表与元组
1.关于元组数据结构,下面描述正确的是(D.支持 in 运算符)。
2.使用 Python 的算术运算符 +、-、*、/、**(没有%),和数字 2、3、4、5,构造一个表达式,使用所有的4各数字和3各运算符各一次,计算得到 28,在下面的空格中填入不含空格的表达式。提示:构建字符串,然后使用 Python 的 eval() 函数,它的参数为字符串,计算该字符串,并返回计算结果,例如: eval('2*3+4') 返回整数 10(2**3+4*5 或 2**3+5*4 或 4*5+2**3 或 5*4+2**3)。
3.有 3 个回文数字,第一个是两位数,第二个是三位数。将这两个数字相加得到第三个数字,这是个四位数。请问第三个数字式多少(1001)。
4.下列代码的输出结果是list1 = [1, 2, 3] list2 = list1 list3 = list2 list1.remove(1) print list3[1](3)。
5.写出下面程序的输出结果:
def func(lst): for i in range(len(lst) - 1): for j in range(i + 1, len(lst)): if lst[i] < lst[j] : lst.insert(i, lst.pop(j)) else: pass else: return lst return -1 lst1 = [6, 2, 4, 1, 5, 9] lst2 = func(lst1) lst2[3:-2] = [] print lst1 ([9, 6, 5, 2, 1])。
第七周:字典与集合
1.一个学生的信息包括:学号、姓名、年龄、性别、电话。如果想保存一系列学生,并且希望能够根据姓名对他们进行排序,则下列数据结构哪个更合适(列表)。
2.一个学生的信息包括:学号、姓名、年龄、性别、电话。如果想保存一系列学生,并且希望能够快速的查找某一姓名的学生,则下列数据结构哪个更合适(字典)。
3.写出下面程序的输出结果:
d1 = {} d1[2] = 10 d1['2'] = 20 d2 = {} d2[2] = d1 d2['2'] = d2 print d2['2']['2']['2']['2'][2][2] (10)。
4.下列程序的输出结果是:
def f1 (my_dict): temp = 0 for value in my_dict.values(): temp = temp + value return temp a_dict={'bill':1,'rich':2,'fred':10,'walter':20} print f1(a_dict) (33)。
5.下列程序的执行结果是:def f2 (my_dict): temp = '' for key in my_dict: if temp < key: temp = key return temp a_dict = {'bill':1,'rich':2,'fred':10,'walter':20} print f2(a_dict) (walter)。
期末检测
1.关于集合数据结构,下面描述正确的是(B.键是无序的)。
2.关于赋值语句的作用,正确的描述是(B.将变量绑定到对象)。
3.若 a = 'abcd' ,若想将 a 变为 'ebcd' ,则下列语句正确的是(A.
a = 'e' + a[1:])。
4.关于列表数据结构,下面描述正确的是(A.可以不按顺序查找元素)。
5.下列不合法的Python变量名是(C.N.x)。
6.执行以下两条语句后,lst的结果是lst = [3, 2, 1] lst.append(lst)(A.
[3, 2, 1, […]],其中“…”表示无穷递归)。
7.下列不是Python语言关键字的是(A.open)。
8.与x > y and y > z 语句等价的是(B.x > y > z)。
9.以下哪条语句定义了一个Python字典(A.{ })。
10.关于递归的说法正确的是(B.递归是一种程序调用自身的现象)。
11.执行下面操作后,list2的值是:list1 = ['a', 'b', 'c'] list2 = list1 list1.append('de') (C.['a', 'b', 'c', 'de'])。
12.下列运算符的使用错误的是(D.1 + 'a')。
13.下列 for 语句中,在 in 后使用不正确的是:for var in : print var (D.(1))。
14.关于函数的下列说法不正确的是(A.函数可以有多个返回值)。
15.写出下面程序的输出结果d = {2: ['free', 'and', 'easy'], 0: ['laid', 'back'], 1: ['happy', 'go', 'lucky']} print(d[1][-1][1:])(ucky 或 'ucky' 或 "ucky")。