python程序使用类来操作项列表

2024-09-24 02:16:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python OOP概念的新手。我需要编写一个程序来使用类操作项目列表(添加、删除和显示)。没有class i,输出是这样的:

def add():
    b=input("How many inputs? : ")
    print b
    if b==1:
        in1=input("Enter item : ")
        a.append(in1)
    else:
        in2=input("Enter items : ")
        a.extend(in2)
    print a

def delete():
    c=input("which item to delete? ")
    global a
    a=[x for x in a if x != c]
    print a

def display():      
    print a

ans=True
global a
a=[1,2,3,5,2]
while ans:
    print ("""
    1.Add items
    2.Delete items
    3.Display items
    4.Exit/Quit
    """)
    ans=raw_input("What would you like to do? ") 
    if ans=="1": 
        add()
    elif ans=="2":
        delete()
    elif ans=="3":
        display() 
    elif ans=="4":
        print("\n Goodbye") 
        exit()
    else:
      print("\n Not Valid Choice Try again") 

有谁能帮我用类写同样的代码吗?在


Tags: toaddinputifdefitemsitemdelete
1条回答
网友
1楼 · 发布于 2024-09-24 02:16:18

把你所有的函数放在一个类里。。。。在

类方法的优点是可以同时操作多个列表,并且当您使用一个类时,它不依赖于您选择的任意全局列表名。在

另外,您使用的是input方法。似乎您正在使用Python2.7(从您的print语句判断),you should be using ^{}.input试图eval返回什么,而您只需要用户输入的原始字符串,raw_input返回的内容。在

 class ItemList:
        def __init__(self, list):
            self.a = list

        def add(self):
            b=raw_input("How many inputs? : ")
            print b
            if b==1:
                in1=raw_input("Enter item : ")
                self.a.append(in1)
            else:
                in2=raw_input("Enter items : ")
                self.a.extend(in2)
            print self.a

        def delete(self):
            c=raw_input("which item to delete? ")
            self.a=[x for x in a if x != c]
            print self.a

        def display(self):      
            print self.a


ans = True
a=[1,2,3,5,2]
myList = ItemList(a)
while ans:
    print ("""
    1.Add items
    2.Delete items
    3.Display items
    4.Exit/Quit
    """)
    ans=raw_input("What would you like to do? ") 
    if ans=="1": 
        myList.add()
    elif ans=="2":
        myList.delete()
    elif ans=="3":
        myList.display() 
    elif ans=="4":
        print("\n Goodbye") 
        exit()
    else:
      print("\n Not Valid Choice Try again") 

相关问题 更多 >