在下面的代码中,我在彼此中使用了两个for
循环,但是内部的for
循环不起作用,代码转到下一行并检查if
和else
代码怎么了
for kk in range(1,10):
# ---- set initial conditions (random)
decisionE.gen = decisionE.gen * (1 + 0.2 * rand(decisionE.__len__()))
decisionI.gen = decisionI.gen * (1 + 0.2 * rand(decisionI.__len__()))
decisionE.V = decisionE.V + rand(decisionE.__len__()) * 2 * mV
decisionI.V = decisionI.V + rand(decisionI.__len__()) * 2 * mV
# ---- set initial conditions (random)
sensoryE.V = -50.0 * mV - 2 * mV + rand(sensoryE.__len__()) * 2 * mV
sensoryI.V = -50.0 * mV - 2 * mV + rand(sensoryI.__len__()) * 2 * mV
sensoryE.gea = 0.05 * (1 + rand(sensoryE.__len__()) * 0.2)
sensoryI.gea = 0.05 * (1 + rand(sensoryI.__len__()) * 0.2)
# record spikes of excitatory neurons
S_DE1 = SpikeMonitor(decisionE1, record=True)
S_DE2 = SpikeMonitor(decisionE2, record=True)
S_SE1 = SpikeMonitor(sensoryE1, record=True)
S_SE2 = SpikeMonitor(sensoryE2, record=True)
# record instantaneous populations activity
R_DE1 = PopulationRateMonitor(decisionE1, bin=20 * ms)
R_DE2 = PopulationRateMonitor(decisionE2, bin=20 * ms)
R_SE1 = PopulationRateMonitor(sensoryE1, bin=20 * ms)
R_SE2 = PopulationRateMonitor(sensoryE2, bin=20 * ms)
print kk
# ------------------------------------------------------------------------------
# Run the simulation
# ------------------------------------------------------------------------------
# construct network
net = Network(Dgroups.values(), Sgroups.values(), Dconnections.values(), Sconnections.values(),
Dnetfunctions, update_input, C_SE1_DE1, C_SE2_DE2, C_DE1_SE1, C_DE2_SE2,
S_DE1, S_DE2, S_SE1, S_SE2, R_DE1, R_DE2, R_SE1, R_SE2)
net.prepare()
net.run(runtime)
ck_=int(runtime/20)-1
for ii in range(1,ck_):
if (R_DE1.rate[ii]>=15):
break
for jj in range(1,ck_):
if (R_DE2.rate[jj]>=15):
break
if (jj>=ii):
print R_DE1.rate[ii]
print ("A fired at ")
print R_DE1.times[ii]
else:
print R_DE2.rate[jj]
print("B fired at ")
print R_DE2.times[jj]
正如@khelwood在评论中所说的,这似乎是关于
break
语句的问题语句} does.
R_DE2.rate[ii]>=15
和R_DE2.rate[jj]>=15
的频率是多少?它们会阻止这些循环工作(假设您指的是这两个循环)。如果语句为true,则触发break
语句,然后跳出循环并转到下一个语句Check out what ^{我建议将
break
语句替换为那些循环中您想做的事情(这两个内部循环目前不做任何事情)相关问题 更多 >
编程相关推荐