《Python语言程序设计》——序列习题练习

《Python语言程序设计》——序列习题练习,第1张

《Python语言程序设计》——序列习题练习

一.填空题

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))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存