已知如下程序代码实现可变对象和不可变对象作为函数参数,分别传入函数,请选择运行程序后正确的运行结果。
def fun1(x)
X=X+2
def fun2(lst) :
for i in range(0,len(lst)):
lsti]=lsti]+2
if __name__==”main”:
X=5
print("调用函数fun1前,x={}".format(x))
fun1(x)
print("调用函数fun1后,x= {}".format (x))
1s=1, 2, 3,4, 5,6]
print("调用函数fun2前,ls={} ".format(ls))
fun2(ls)
print("调用函数fun2后,ls={}”format(ls))
选项:
A:
调用函数fun1前,x=5
调用函数fun1后,x=5
调用函数fun2前,ls=1,2,3,4,5,6]
调用函数fun2后,ls=1,2,3,4,5,6]
B:
调用函数fun1前,x=5
调用函数fun1后,x=7
调用函数fun2前,ls=1,2,3,4,5,6]
调用函数fun2后,ls=1,2,3,4,5,6]
C:
调用函数fun1前,x=5
调用函数fun1后,x=7
调用函数fun2前,ls=1,2,3,4,5,6]
调用函数fun2后,ls=3,4,5,6,7,8]
D:
调用函数fun1前,x=5
调用函数fun1后,x=5
调用函数fun2前,ls=1,2,3,4,5,6]
调用函数fun2后,ls=3,4,5,6,7,8]