这是我的代码:
trainingSet = {"0,0":0, "1,0":1, "2,0":1, "0,1":0, "1,1":1, "1,2":0, "2,0":0, "2,1":0, "2,2":1}
for k,expectedOutput in trainingSet.iteritems():
print 1
coordinates = k.split(",")
network.layers[0].neurons[0].value = float(coordinates[0])
network.layers[0].neurons[1].value = float(coordinates[1])
output = network.calculateOutput()
输出是:
1
1
1
1
1
1
1
1
# 8 lines
这怎么可能? trainingSet 字典中有 9 个项目。输出不应该是:
1
1
1
1
1
1
1
1
1
# 9 lines
请您参考如下方法:
您有两次 key “2,0”:
... "2,0":1, "0,1":0, "1,1":1, "1,2":0, "2,0":0 ...
^^^ ^^^
字典中的键必须是唯一的。如果您想多次使用不同值的键,则需要使用不同的数据结构。例如,您可以使用元组列表或从键到值列表的字典。
更有可能的是,尽管我猜你只是混淆了数字,而你实际上是这样想的:
trainingSet = {
"0,0" : 0, "1,0" : 1, "2,0" : 1,
"0,1" : 0, "1,1" : 1, "2,1" : 0,
"0,2" : 0, "1,2" : 0, "2,2" : 1
}
