Python 程序的输出 | 第十五套

177 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

  • 难度级别: 困难

注意:所有这些程序的输出都在 Python3 上进行了测试

1) 以下哪个选项可能是以下程序的输出?

from random import randrange
L = list()
for x in range(5):
	L.append(randrange(0, 100, 2)-10)
print(L)

a) [-8, 88, 8, 58, 0]
b) [-8, 81, 18, 46, 0]
c) [-7, 88, 8, 58, 0]
d) [-8, 88, 94, 58, 0]
答案:(a)
解释:  for 循环将导致向列表 L 追加 5 个元素。元素的范围为 [0, 98] – 10 = [-10, 88],排除了选项 (d)。上限为 98,因为步长为 2,因此选项 (c) 和 (b) 无效。另请注意,每次你可能不会获得相同的输出或选项中的输出,因为函数是随机的。

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

from math import *
a = 2.13
b = 3.7777
c = -3.12
print(int(a), floor(b), ceil(c), fabs(c))

a) 2 3 -4 3
b) 2 3 -3 3.12
c) 2 4 -3 3
d) 2 3 -4
答案:(b)
说明:  int() 返回一个数的整数值,int(2.13) = 2。 floor() 返回小于或等于该数的最大整数, floor(3.777) = 3。 ceil() 返回最小整数大于或等于数字,ceil(-3.12) = -3。fabs() 返回数字的模数,因此 fabs(-3.12) = 3.12。

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

import re
p = re.compile('\d+')
print(p.findall("I met him once at 11 A.M. on 4th July 1886"), end = " ")
p = re.compile('\d')
print(p.findall("I went to him at 11 A.M."))

a) ['11', '4', '1886', '11']
b) ['1141886'] ['1', '1']
c) ['11', '4', '1886'] ['11']
d) ['11', '4', '1886'] ['1', '1'
答案:(d)
解释:  \d 等价于 [0-9] 并且 \d+ 将匹配 [0-9] 上的一个组,一个或更大大小的组。在第一个语句中,数字组是 11, 4, 1886。在第二个语句中,\d 会将每个数字视为不同的实体,因此 1, 1。

4) 下面程序的输出是什么?

import re
print(re.sub('ge', '**', 'Geeksforgeeks', flags = re.IGNORECASE), end = " ")
print(re.sub('ge', '**', 'Geeksforgeeks'))

a) **eksfor**eks **eksfor**eks
b) **eksfor**eks Geeksfor**eks
c) **Geeksfor**geeks Geeksfor**geeks
d) TypeError: ‘str’ object does not support item assignment
答。(b)
解释: 在第一个 print 语句中,所有的 'ge' 将被替换为 '**',并且不区分大小写。在第二个语句中不考虑大小写,因此将替换 'ge' 而不是 'Ge'。

5) 以下哪个选项可能是以下程序的输出?

import math
import random
L = [1, 2, 30000000000000]
for x in range(3):
	L[x] = math.sqrt(L[x])
string = random.choices(["apple", "carrot", "pineapple"], L, k = 1)
print(string)

a) ['pineapple']
b) ['apple']
c) 'pineapple'
d) a 和 b
答案。(d)
说明: 使用了 math 和 random 两个模块,for 循环后的 L 为 [1.0, 1.4142135623730951, 5477225.575051662]。Choices() 将选择作为第一个参数,将它们的权重作为第二个参数,k 是选择所需的数值。答案几乎总是“pineapple”,因为它的重量,但“apple”和“carrot”有时可能会成为输出。