刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

已知下面代码最后的输出结果为【20 40】,那么横线处应该分别填写()

a =10
b =30
def test_1():
    global①
    a = 10
    b += a
def test 2():
    global ②
    a = 20
    b = 10
    test_1()
test_2()
print(a,b)

A

①b ②a

B

①a ②b

C

①a,b ②a

D

①b ②a,b

使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

【喵呜刷题小喵解析】:在Python中,global关键字用于在函数内部引用全局变量。在这段代码中,两个函数test_1和test_2分别试图修改全局变量a和b的值。根据输出结果【20 40】,我们可以推断出,在test_2函数中,全局变量a被修改为20,全局变量b被修改为40。

首先,我们来看test_2函数。在这个函数中,全局变量a被修改为20,全局变量b被赋值为10。然后,test_2函数调用test_1函数。在test_1函数中,全局变量a被赋值为10,全局变量b增加10(即b += a)。由于全局变量a在test_2函数中已经被修改为20,所以这里的a实际上是20,因此b增加20,变为30。

然后,test_2函数执行完毕,全局变量a的值为20,全局变量b的值为30。最后,print(a, b)输出【20 40】。

根据以上分析,我们可以确定,在test_1函数中,全局变量a被引用,所以①处应该填写a;在test_2函数中,全局变量b被引用,所以②处应该填写a。因此,正确答案是D。
创作类型:
原创

本文链接:已知下面代码最后的输出结果为【20 40】,那么横线处应该分别填写() a =10 b =30 de

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share