我正在尝试学习一些python,并在结合了for循环的随机函数方面遇到了一些麻烦。要运行的完整代码:
global_n = 3
import random
class InputNeuron:
connections = list(range(global_n))
connection_state = list(range(global_n))
def __init__(self, n):
self.n = n
my_inputs = list(range(global_n))
for i in range(0,global_n):
my_inputs[i] = InputNeuron(global_n)
for i in range(0,3):
for j in range(0,3):
my_inputs[i].connections[j] = random.uniform(-1.0,1.0)
my_inputs[i].connection_state[j] = random.uniform(-1.0,1.0)
for i in range(0, global_n):
for j in range (0,global_n):
print("Neuron", i, "connection", j, "is", my_inputs[i].connections[j], "and", my_inputs[i].connection_state[j])
我意识到这段代码有很多缺陷,但是我似乎无法理解的是为什么我的随机函数不能正常工作。具体来说,从运行此命令的输出中可以看出,每个“神经元”对于相应的“连接” 0、1和2具有相同的输出。据我所知,这部分代码:
for i in range(0,3):
for j in range(0,3):
my_inputs[i].connections[j] = random.uniform(-1.0,1.0)
my_inputs[i].connection_state[j] = random.uniform(-1.0,1.0)
应该为这些值中的每一个分配随机值,以使神经元0(连接0)和神经元1(连接0)具有不同的值。
我可能事先忽略了一些明显的道歉措施,但是在尝试了几个小时来解决这个问题之后,我非常想放弃尝试找出问题所在。