📜  Python程序的输出 |第 18 组(列表和元组)

📅  最后修改于: 2022-05-13 01:56:10.880000             🧑  作者: Mango

Python程序的输出 |第 18 组(列表和元组)

1) 以下程序的输出是什么?

L = list('123456')
L[0] = L[5] = 0
L[3] = L[-2]
print(L)

a) [0, '2', '3', '4', '5', 0]
b) ['6', '2', '3', '5', '5', '6']
c) ['0', '2', '3', '5', '5', '0']
d) [0, '2', '3', '5', '5', 0]
答。 (四)
说明: L[0] 是 '1' 和 L[5] 是 '6',这两个元素在 List 中都会被 0 替换。 L[3],即 4 将被替换为 L[-2],即 5。 2) 以下程序的输出是什么?

T = 'geeks'
a, b, c, d, e = T
b = c = '*'
T = (a, b, c, d, e)
print(T)

a) ('g', '*', '*', 'k', 's')
b) ('g', 'e', 'e', 'k', 's')
c) ('极客', '*', '*')
d) 密钥错误
答。 (一种)
解释:一个元组被创建为 T = ('g', 'e', 'e', 'k', 's'),然后它被解包成 a, b, c, d 和 e,从 'g 映射' 到 a 和 's' 到 e。 b 和 c 都是 'e' 等于 '*',然后通过将 a、b、c、d 和 e 打包成一个元组 T 来替换现有的元组。 3) 下面程序执行结束时L的值是多少?

L = [2e-04, 'a', False, 87]
T = (6.22, 'boy', True, 554)
for i in range(len(L)):
    if L[i]:
        L[i] = L[i] + T[i]
    else:
        T[i] = L[i] + T[i]
        break

a) [6.222e-04, 'aboy', True, 641]
b) [6.2202, 'aboy', 1, 641]
c) 类型错误
d) [6.2202, 'aboy', 错误, 87]
答。 (C)
解释: for 循环将运行 i = 0 到 i = 3,即 4 次(len(L) = 4)。 2e-04 与 0.0002 相同,因此 L[i] = 6.22 + 0.0002 = 6.2202。字符串相加将导致串联,'a' + 'boy' = 'aboy'。 False + True 为 True,它将返回整数值 1。由于元组是不可变的,因此代码将以 TypeError 结尾,但 L 的元素将被更新。 4) 以下程序的输出是什么?

T = (2e-04, True, False, 8, 1.001, True)
val = 0
for x in T:
    val += int(x)
print(val)

一)12
b) 11
c) 11.001199999999999
d) 类型错误
答。 (二)
说明: 2e-04(0.0002) 的整数值为 0,True 的值为 1,False 的值为 0,1.001 的整数值为 1。因此总计 0 + 1 + 0 + 8 + 1 + 1 = 11。 5) 以下哪个选项可能是以下程序的输出?

L = [3, 1, 2, 4]
T = ('A', 'b', 'c', 'd')
L.sort()
counter = 0
for x in T:
    L[counter] += int(x)
    counter += 1
    break
print(L)

a) [66, 97, 99, 101]
b) [66, 68, 70, 72]
c) [66, 67, 68, 69]
d) 值错误
答。 (四)
说明:在 sort(L) 之后,L 将是 = [1, 2, 3, 4]。 Counter = 0, L[0] 即 1, x = 'A',但是将 char 'A' 类型转换为 integer 会抛出错误并且该值无法存储在 L[0] 中,因此会出现 ValueError。