前两天在论坛中看到有人提了这么个需求:

基于python列表实现一个简单的动物信息管理系统,包括的内容动物名称,动物数量等

1.添加动物信息 , 2.删除动物信息,3. 修改动物信息,4.显示所有动物, 0.退出系统

简单思路分析:

1. 由于是基于列表实现,所以首先要定义一个列表

2. 包括的内容有动物名称,动物数量等多个字段信息,一个列表肯定无法满足,所以需要嵌套子列表

3. 主要涉及到的操作是增删改查,这里需要定义4个对应的方法。

4. 由于涉及到多个操作并且是由用户决定执行哪个操作,并且何时退出系统也是由用户决定,所以还涉及到的知识点:循环,用户输入,判断用户输入,执行对应操作。

简要代码解析:

1. 首先定义一个动物类,并在初始化时声明一个主列表用于存放动物信息

2. 添加操作:先接收用户输入的动物名称和数量,并进行数量值有效性校验,因为数量应该是数字类型且每次输入都需验证,所以这里用while循环进行校验,验证通过后将动物信息添加到子列表中同时将子列表添加到主列表

3. 删除动物:接收用户要删除哪个动物,然后校验该动物是否存在,存在则删除(这里如果有需要的话还可以进行一下删除确认,防止误删),不存在给出提示。

4. 更新动物:跟删除逻辑相似,也是先接收用户要更新的动物,然后校验动物是否存在,如果存在再接收用户输入的新动物名称和数量(依然需有效性校验),然后更新。

5. 显示所有动物,这个比较简单,直接循环主列表进行输出即可

6. 定义main函数,可以在系统运行后,用户可以选择不同操作,因为运行一次不只是只执行一个操作,所以这里要用到循环,让用户可不停选择操作类型进行操作直到输入0退出系统

7. 当然如果想存入动物的多个字段信息,如年龄,毛色,大小等等,这里选择列表加字典的形式效果会更好,有需要可自行改造。

下面是完整代码:

class Animal():
    '''
    简单动物信息管理系统
    '''
    
    def __init__(self):
        self.animals = []
    
    def add_animals(self):
        name = input("请输入动物名称:")
        count = input("请输入动物数量:")
        while(count.isdigit() == False):
            count = input("输入的值不是有效数字请重新输入:")
        else:
            self.animals.append([name,int(count)])
            print("动物%s添加成功" % name)
    
    def remove_animal(self):
        name = input("请输入要删除的动物名称:")
        for animal in self.animals:
            if animal[0] == name:
                self.animals.remove(animal)
                print('动物%s成功删除'% name )
                break
        else:
            print('动物%s不存在'%name)

    def update_animal(self):
        old_name = input("请选择要修改的动物名称:")
        for animal in self.animals:
            new_name = input("请输入新动物名称:")
            count = input("请输入新动物数量:")
            while(count.isdigit() == False):
                count = input("输入的数值不是有效数字,请重新输入:")
            else:
                animal[0] = new_name
                animal[1] = int(count)
            break
        else:
            print('动物%s不存在' % old_name)

    def show_all_animals(self):
        for animal in self.animals:
            print("动物:%s,共:%d只" % (animal[0],animal[1]))

    def main(self):
        while True:
            opt = input('请选择操作类型:1.添加动物,2.删除动物,3.修改动物,4.显示所有动物信息,0.退出系统:')
            if opt =='0':
                print('退出系统')
                break         
            elif opt == '1':
                self.add_animals()
            elif opt == '2':       
                self.remove_animal()
            elif opt == '3':
                self.update_animal()
            elif opt == '4':
                self.show_all_animals()
            else:
                print("输入无效,请重新输入")

if __name__ == '__main__':
    animal = Animal()
    animal.main()



                

 

Logo

快速构建 Web 应用程序

更多推荐