我正在尝试通过 Python 学习编程,我想知道是否可以只获取函数的返回值而不获取其其他部分。这是代码:
比方说,这是主要功能:
variable_a = 5
while variable_a > 0 :
input_user = raw_input(": ")
if input_user == "A":
deduct(variable_a)
variable_a = deduct(variable_a)
else:
exit(0)
那么这是扣除函数:
def deduct(x):
print "Hello world!"
x = x - 1
return x
发生的情况是,它会进行计算并扣除,直到variable_a达到0。但是,“Hello world!”被打印两次,我想是因为变量_a = 扣除(变量_a)(如我错了请纠正我)。所以我在想,我可以只捕获deduct()的返回值而不捕获其余的吗?因此,在本例中,在执行 deduct() 之后,variable_a 将只有一个普通值 2(没有“Hello world!”)。
我错过了什么吗? :?
编者注:我删除了空行,因此可以将其粘贴到 REPL 中。
“Hello world”的打印就是所谓的副作用——函数产生的东西不会反映在返回值中。您要求的是如何调用该函数两次,一次产生副作用,一次捕获函数返回值。
事实上,您根本不必调用它两次 - 一次就足以产生两个结果。只需捕获唯一一次调用的返回值:
if input_user == "A":
variable_a = deduct(variable_a)
else:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)