提问者:小点点

用于构造越来越长函数的Python循环


我的代码在任何天数内都遵循以下模式。 有没有任何方法可以做某种循环来简化它,而不必硬编码每一种情况? 我必须在没有循环的情况下写大约400行。

if dia == 0: mapa[dia] = mapa[dia]
if dia == 1: mapa[dia] = mapa[dia].subtract(mapa[0])   
if dia == 2: mapa[dia] = mapa[dia].subtract(mapa[0]).subtract(mapa[1])
if dia == 3: mapa[dia] = mapa[dia].subtract(mapa[0]).subtract(mapa[1]).subtract(mapa[2])
if dia == 4: mapa[dia] = mapa[dia].subtract(mapa[0]).subtract(mapa[1]).subtract(mapa[2]).subtract(mapa[3])
if dia == 5: mapa[dia] = mapa[dia].subtract(mapa[0]).subtract(mapa[1]).subtract(mapa[2]).subtract(mapa[3]).subtract(mapa[4])
if dia == 6: mapa[dia] = mapa[dia].subtract(mapa[0]).subtract(mapa[1]).subtract(mapa[2]).subtract(mapa[3]).subtract(mapa[4]).subtract(mapa[5])

共1个答案

匿名用户

可以使用reduce,也可以使用简单的forloop

for i in range(dia):
    mapa[dia] = mapa[dia].subtract(mapa[i])