QQ群功能设计(代码方面)

[实验内容]:
采用顺序表,设计一个QQ群名片,主要包含:QQ号码、昵称、性别、年龄、生日等属性。完成基本功能如下:
(1) 初始化群名片;
(2) 添加某一个QQ群中10名成员的名片信息;
(3)删除某位成员信息;
(4)根据QQ号码或昵称查找某位成员的信息;
(5)显示群成员信息。扩展功能:
1.统计当前QQ群中共有多少联系人
2.销毁群名片

对于这样的一个实验,只是在代码方面实现的话,大部分朋友会想到c/c++,Python或者Java,但是在c/c++里面想要实现此功能,需要用到数据结构里面的结构体和顺序表的知识,不仅代码量很大并且容易出错,而且大部分初学计算机的朋友还没有接触数据结构,因此博主更推荐用Python实现此功能:

以下是Pycharm   Python3.0版本实现的图示:

 上图首先先建立了一个类QQMember,将所需的QQ号码、昵称、性别等等内容全部做成实例属性,self.qq_number 等语句将传入的参数赋值给类的实例属性,这样每个QQMember对象都可以保存对应成员的相关信息。

接下来建立一个QQGroupCard类,进行下一步的操作,接着用初始化属性__init__,在 QQMember 类中, __init__  方法接收参数 qq_number 、nickname 等,然后将这些参数赋值给实例属性 self.qq_number  、 self.nickname 等,这样每个新创建的 QQMember  实例都会有自己独立的属性值。接下来开始创建各种功能所需的成员方法(因为功能众多,博主暂且只介绍几个比较重要的):

1、add_member该方法接受一个 member  参数(应为 QQMember  类的实例),将其添加到 self.members  列表中,并在控制台打印添加成功的提示信息。

2、delete_member该方法根据传入的 qq_number  在 self.members  列表中查找对应的成员。如果找到,就将其从列表中删除,并打印删除成功的提示;如果遍历完列表都没找到,则打印未找到的提示。

3、search_member该方法接受一个 keyword  参数,可以是QQ号码或昵称。它遍历 self.members  列表,将匹配的成员对象添加到 result  列表中。如果 result  列表不为空,就打印出所有匹配成员的详细信息;否则,打印未找到匹配成员的提示。

 最后创建了一个  QQGroupCard  类的实例  group_card ,后续通过它来调用各种方法。然后进入一个无限循环  while True ,用于持续提供操作选择界面:每次循环开始时,打印操作菜单,提示用户可以选择的功能。使用  input  函数获取用户输入的选项。根据用户输入的不同选项,执行相应的操作。例如:当用户输入“1”时,调用  group_card.initialize()  方法初始化群名片。输入“2”时,先通过多次  input  函数获取新成员的各项信息,创建  QQMember  对象  new_member ,再调用  group_card.add_member(new_member)  方法添加成员。输入“8”时,打印退出提示并使用  break  语句跳出循环,结束程序。如果用户输入的不是1到8之间的有效选项,就打印提示信息,要求重新输入。

下面是几个博主的代码测试示例图:

 

以上便是博主的全部思考制作过程,各位朋友可以尝试一下上述的代码和功能,如果感觉博主讲的比较清晰,制作不易,不妨给点个关注和小爱心😌

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值