print打印与上边的两遍add_Run()没什么关系,可以看到函数add_Run()如果参数L不为None则直接append('Run'),如果是None则初始化之后再append('Run'),print(add_Run(['Lying']))在调用add_Run()时传入了参数['Lying']不为None,所以返回['Lying', 'Run'],故选B。
第一次和第二次的addrun没有任何作用,在print里的addrun看成一个人整体被执行一次,返回的结果打印出来。最后一次执行的过程是:因为转入的L不为空,所以走append那条分支,原来有一个lying,再增加一个run,所以答案是b