为下面的代码编写python代码(2.7版本),并解释逻辑,因为我不理解,请解释。
写一个算法输出给定天数后单元格的状态。
==================================================
输入
函数/方法的输入由两个参数组成:
states,表示单元格当前状态的整数列表;
天;代表天数的整数。
返回表示给定天数后单元格状态的整数列表。
注意
列表状态的元素仅包含0和1。
TESTCASES 1:
INPUT:
[1,0,0,0,0,1,0,0],1
EXPECTED RETURN VALUE:
[0,1,0,0,1,0,1,0]
TESTCASE 2:
INPUT:
[1,1,1,0,1,1,1,1,],2
EXPECTED RETURN VALUE:
[0,0,0,0,0,1,1,0]
==================================================================
def cellCompete(states,days):
#write your code logic with explanation
pass
==================================================================
我尝试了以下代码,但它给出了错误的输出:
def cellCompete(c,d):
for _ in range(d):
for i in range(8):
n=c[i]
if i>0 and i<7:
c[i]=0 if c[i+1]==a else 1
elif i==0:
c[i]=0 if c[i+1]==0 else 1
else:
c[i]=0 if a==0 else 1
a=n
return c;