游戏对象没有属性 'name' 错误

games object has no attribute 'name' error

我在下面有这段代码,看不出我在获取输入数据以显示方面做错了什么。我收到错误 'games object does not have the attribute name'。请帮忙看看我做错了什么?(初级程序员)

class games():
    def _init_(self,name,platform,genre):
        self.name = name
        self.platform = platform
        self.genre = genre


    def display(self):
        print (self.name,end='\t\t')
        print (self.platform,end='\t\t')
        print(self.genre)

def getData(games):
    #st=list()
    st = []
    n=int(input("enter no of games: "))
    print('games details are...')
    for i in range (n):
        print ('Games : ', i+1)
        name=input('\tName : ')
        platform=input('\tPlatform : ')
        genre=input('\tGenre : ')
        st.append(games())
    print ("Game Details")
    print ('Name\t\tPlatform\t\tGenre')
    for i in range(n):
        st[i].display()

getData(games)

几个更正:

  1. 您在 class init 中有错别字:是 __init__,而不是 _init_
  2. 您正在将空实例附加到游戏列表 (st)。所以改变

    st.append(games())

st.append(games(name,platform,genre))  #name,platform,genre here are the values entered via `input`

请分别考虑 classes 和函数的适当命名约定。参见 PEP8 style guide for Class naming convention。它将帮助你在漫长的运行.