一.填空题
1.s = "Python", 能够显示输出Python 的选项是(D)
A.print(s[0:-1])
B.print(s[-1:0])
C.print(s[:5])
D.print(s[:])
2.若k为整数,则下列循环执行的次数为(B)
k=1000
while k>1:
print(k)
k=k/2
A.9
B.10
C.11
D.12
3.以下程序运行输出为(A)
balance = 20
while True:
if balance <9:
break
balance -= 9
print("balance is %d" % balance)
A.balance is 2
B.balance is 7
C.balance is 11
D.程序无限循环,无输出
4.以下程序运行时,输入12 18 24 10,输出结果是(D)
s = 0
inp1 = [int(x) for x in input().split()]
for item in inp1:
if item > 20:
continue
s += item
print(s)
A.12
B.30
C.54
D.40
5.下列选项中,会输出1,2,3三个数字的是( C)。
A.for i in range(3)
print(i)
B.for i in range (2):
print(i+1)
C.a_list=[0, 1, 2]
for i in a_list:
print(i+1)
D.i=1
while i<3:
print (i)
i=i+1
6.元组和列表之间的主要差别是(D)
A.元组之间的元素不能用逗号进行分隔
B.元组只能包含字符串元素
C.元组不能把列表作为元素进行存储
D.一旦元组被创建,就不能更改
7.有代码如下:
s=input();print(len(s))
则在输入以下数据后得到结果是( A)
Hello World
A.11
B.6
C.5
D.12
8.以下选项中,属于不可变序列的是(B)。
A.列表
B.元组
C.集合
D.字典
9.下列哪个函数可以作用于元组对象?(D)
A.append()
B.extend()
C.insert()
D.len()
10.有如下代码,程序执行结果是(A )。
for ch in 'PYTHON STRING':
if ch == ' ':
break
print(ch, end='')
if ch == 'O':
continue
A.PYTHON
B.PYTHONSTRING
C.PYTHN
D.替换为错误项
11.表达式max('1111', '222', '33', '4')的值是?(D)
A.1111
B.222
C.33
D.4
12.对于字符串:str1='SDUTCSSEno1'
,欲获得切片:'1onESS'
,使用的方式是(D)
A.str1[-6:-1]
B.str1[-1:-6]
C.str1[-1:-6:-1]
D.str1[-1:-7:-1]
13.下面代码的输出结果是(C)
a = [[1,2,3], [4,5,6], [7,8,9]]
s = 0
for c in a:
for j in range(3):
s += c[j]
print(s)
A.0
B.24
C.45
D.以上答案都不对
14.有一个list1=[1,2,3,4,5,6,7,[1,2,3],2,32]
,欲获得一个新列表,其元素为:去掉list1首尾元素,可以利用哪个表达式?(C)
A.list1[0:-1]
B.list1[0:0]
C.list1[1:-1]
D.list1[2:-2]
15.如下语句执行后会输出( C)行 "I love python"
i=10
while i>=0:
print ("I love python")
i=i-1
A.1
B.10
C.11
D.12
16.想要得到输出结果为”张三的身高是180cm,体重是60kg“,则代码应为(C )
A.
student = ['张三', 18, '男', 180, 60]
print(student[0]+"的身高是"+student[3]+"cm,体重是"+student[4]+"kg")
B.
student = ['张三', 18, '男', 180, 60]
print("{}的身高是{}cm,体重是{}kg".format(student[1],student[4],student[5]))
C.
student = ['张三', 18, '男', 180, 60]
print("{}的身高是{}cm,体重是{}kg".format(student[0],student[3],student[4]))
D.
student = ['张三', 18, '男', 180, 60]
print(student[0],"的身高是",student[3],"cm,体重是",student[4],"kg")
二.填空题
1.表达式((3,)×2)×2的结果是(3,3,3,3)
2.10进制转16进制
decimal = eval(input("Enter an integer: "))
hexString = ""
value = ___(1)___
while value != 0:
single = value % 16
if single == 15:
hexString = "F" + hexString
elif single == 14:
hexString = "E" + hexString
elif single == 13:
hexString = "D" + hexString
elif single == 12:
hexString = "C" + hexString
elif single == 11:
hexString = "B" + hexString
elif single == 10:
hexString = "A" + hexString
else:
hexString = ___(2)___+ hexString
value = ___(3)___
print(str(decimal) + "'s hex representation is " + hexString)
在下面9个答案中选择,空格中填编号,如A等。
A)single B) decimal C) hexString D) value/16 E) value//16 F)value%16 G) str(single) H)str(hexSting) I)singles
(1)的答案是 B
(2)的答案是 G
(3)的答案是 E
3.列表的修改
请写出下述程序的执行结果
lst=[23,56,8,900,24]
lst.remove(8)
lst.append(30)
lst.insert(1,22)
lst.extend([66,90])
lst.pop(2)
lst.pop()
lst.sort()
lst.reverse()
print(lst)
执行结果为:[900, 66, 30, 24, 23, 22]
4.如果条件为真,则_____if-else_____语句将执行一个语句块,如果条件为假,则将执行另一个语句块。
5.列表的遍历及运算,以及简单的程序逻辑分析。
请写出下述程序的执行结果:
def main():
s = [12,-4,32,-36,12,6,-6]
s_max, s_sum = 0, 0
for i in range(len(s)):
s_sum += s[i]
if s_sum >= s_max:
s_max = s_sum
elif s_sum < 0:
s_sum = 0
print(s_max)
main()
执行结果为:40
6.与while循环及break有关程序分析。
请写出下述程序的执行结果:
i = 1
while i + 1:
if i > 4:
print("%d" % i)
i += 1
break
print("%d" % i)
i += 1
i += 1
执行结果第1行:1
执行结果第2行:3
执行结果第3行:5
7.input()函数会将接收的数据以 字符串 类型返回。(提示:填写的是某种数据类型)
8.在列表中查找元素时可以使用 not in 和in运算符。
9.下面程序的输出是 2 2
t=1
t,a=2,t+1
print(t,a)
10.print(sum((1,3,5,7,9))/len((1,3,5,7,9)))
的输出是 5.0
11.请录入并调试运行下述程序,写出程序的执行结果:
a = [1,1]
b = [2,3]
print(a+b)
print(b*3)
print("victory "*3)
程序执行结果的第1行:[1, 1, 2, 3]
程序执行结果的第2行:[2, 3, 2, 3, 2, 3]
程序执行结果的第3行:victory victory victory
注意:执行结果需要从真实的执行结果中进行复制,以避免因为多余的空格等因素被OJ判错。
12.若要按照从小到大的顺序排列列表中的元素,可以使用reverse = False方法实现。
三,编程题
1. 合并两个列表并去重
输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10; 合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 同时为保证输出结果一致,请将集合内元素排序之后再输出。 如对于列表alist,可输出sorted(alist)。
输入格式: 共两行,每一行都用来输入列表中的元素值,以空格隔开(可能不至一个空格 )。
输出格式: 共一行,以列表形式打印输出。
代码如下:
alist=list(map(int,input().split()))
blist=list(map(int,input().split()))
clist=sorted(list(set(alist+blist)))
print(clist)
2 .列表排序、逆序
已知列表元素为[12,3,48,6,79,63,89,7],对列表进行逆序输出、升序排序输出、逆序排序输出。
输入格式:
无
输出格式:
列表逆序结果为:[7, 89, 63, 79, 6, 48, 3, 12] 列表升序排序结果为:[3, 6, 7, 12, 48, 63, 79, 89] 列表降序排序结果为:[89, 79, 63, 48, 12, 7, 6, 3]
代码如下:
list=[12,3,48,6,79,63,89,7]
list = list[::-1]
print("列表逆序结果为:%s"%(list))
list=sorted(list)
print("列表升序排序结果为:%s"%(list))
list.sort(reverse=True)
print("列表降序排序结果为:%s"%(list))
3. 找列表中最大元素的下标
输入一个整数列表,找出整数列表中最大元素的下标,如果最大元素的个数超过1,那么请打印输出所有的下标。
输入格式:
数字1,数字2,数字3,....,数字n
输出格式:
下标1 下标2 ... 下标k
代码如下:
m=eval(input())
for i in range(len(m)):
if m[i] == max(m):
print(i)
4. 列表插入
输入一个字符串 s 和一个非负整数 i, 列表 ls = ['2', '3', '0', '1', '5'],在指定的位置 i 和 列表末尾分别插入用户输入的字符串 s。当 i >=5 时,相当于在列表末尾插入两次字符串 s 。
输入格式:
第一行输入一个字符串
第二行输入一个非负整数
输出格式:
插入新数据后的列表
代码如下:
s=input()
i=eval(input())
ls = ['2', '3', '0', '1', '5']
if(i<5):
ls.append(s)
ls.insert(i,s)
else:
ls.append(s)
ls.append(s)
print(ls)
5 .输出字母在字符串中位置索引
输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
输入格式:
第一行输入字符串
第二行输入两个字符,用空格分开。
输出格式:
从右向左输出字符和索引,即下标最大的字符最先输出。每行一个。
代码如下:
x = input()
m,n = input().split(' ')
for index in range(len(x)-1,-1,-1):
if m == x[index]:
print('{:d} {:s}'.format(index,m))
elif n == x[index]:
print('{:d} {:s}'.format(index,n))