简体   繁体   English

Python NameError:名称权重未定义

[英]Python nameerror: name weight not defined

I've written a short code of a simple neural net: 我写了一个简单的神经网络的简短代码:

T=input("enter T: ")

for i in range(int(T)):
    N=input("enter N: ")
    minX=input("enter minX: ")
    maxX=input("enter maxX: ")
    for j in range(int(N)):
        weight[j]=input("enter weight: ")
        bias[j]=input("enter bias: ")
    x=minX
    nonspammer=0
    spammer=0
    for k in range(maxX-minX+1):
        for l in range(N):
            x=x*w[l]+b[l]
        if x%2==0:
            nonspammer+=1
        else:
            spammer+=1
        x+=1
    print(nonspammer,spammer,sep=" ")

This code is giving me the error: 这段代码给了我错误:

Nameerror: name weight not defined NameError:名称权重未定义

Could someone help me find out the reason for this error? 有人可以帮我找出此错误的原因吗? I'm a beginner to coding in python. 我是python编码的初学者。

Before for j in range(int(N)): add the lines for j in range(int(N)):之前for j in range(int(N)):添加行

weight=[0 for i in range(N)]
bias=[0 for i in range(N)]

You are trying to access elements of these lists even before declaring them to be lists 您甚至在声明它们为列表之前都尝试访问这些列表的元素

You can't get the index of a non-exiting list, so you have to create first like : 您无法获取不存在列表的索引,因此必须先创建:

for i in range(int(T)):
    N=input("enter N: ")
    minX=input("enter minX: ")
    maxX=input("enter maxX: ")
    weight=[0]*int(N)
    bias=[0]*int(N)
    for j in range(int(N)):
        weight[j]=input("enter weight: ")
        bias[j]=input("enter bias: ")

or create it empty and append it : 或将其创建为空并追加:

for i in range(int(T)):
    N=input("enter N: ")
    minX=input("enter minX: ")
    maxX=input("enter maxX: ")
    weight=[]
    bias=[]
    for j in range(int(N)):
        weight.append(input("enter weight: "))
        bias.append(input("enter bias: "))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM