首页 > 其他分享 >简化的社交网络系统

简化的社交网络系统

时间:2023-12-04 18:07:37浏览次数:34  
标签:name people self person2 person1 简化 网络系统 社交 friend

以下是一个使用Python编写的复杂数据结构示例,这是一个简化的社交网络系统:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.friends = []

    def add_friend(self, friend):
        self.friends.append(friend)

class SocialNetwork:
    def __init__(self):
        self.people = {}

    def add_person(self, person):
        if person.name not in self.people:
            self.people[person.name] = person
        else:
            raise ValueError("Person with that name already exists in the network")

    def make_friends(self, person1_name, person2_name):
        person1 = self.people.get(person1_name)
        person2 = self.people.get(person2_name)
        if person1 and person2:
            person1.add_friend(person2)
            person2.add_friend(person1)
        else:
            raise ValueError("Both people must exist in the network to become friends")

在这个示例中,我们定义了两个类:Person 和 SocialNetworkPerson 类代表社交网络中的个人,每个人都有姓名、年龄和朋友列表。SocialNetwork 类用于管理所有注册的人,并允许他们成为朋友。

这个示例涉及到类、实例化、方法调用以及数据结构的使用,展示了一个简单的社交网络系统的数据结构。

标签:name,people,self,person2,person1,简化,网络系统,社交,friend
From: https://blog.51cto.com/u_16096459/8680423

相关文章

  • Instagram营销的社交互动:建立用户参与感
    Instagram营销的社交互动:建立用户参与感 简介:在当今社交媒体时代,Instagram已成为品牌和企业进行市场推广的重要渠道之一。然而,仅仅在Instagram上发布内容是不够的,你还需要通过社交互动来建立用户参与感。本文将探讨一些有效的策略,帮助你在Instagram上建立用户参与感,提升品牌知......
  • 简化版Transformer :Simplifying Transformer Block论文详解
    前言 本文探讨了来自苏黎世联邦理工学院计算机科学系的BobbyHe和ThomasHofmann在他们的论文“SimplifyingTransformerBlocks”中介绍的Transformer技术的进化步骤。这是自Transformer开始以来,我看到的最好的改进。本文转载自DeephubImba作者|FreedomPreetham仅用于学......
  • 在NET8中使用简化的 AddJwtBearer 认证
    开发环境系统版本:win10.NETSDK:NET8开发工具:vscode参考引用:使用dotnetuser-jwts管理开发中的JSONWeb令牌注意:以下示例中的端口、token等需替换成你的环境中的信息创建项目运行以下命令来创建一个空的Web项目,并添加Microsoft.AspNetCore.Authentication.JwtBea......
  • 电报营销的社交广告投放策略
    利用电报营销进行社交广告投放的策略 随着社交媒体的不断发展,营销者和广告商们也在寻找新的平台来推广他们的产品和服务。电报(Telegram)作为一个受欢迎的即时通讯应用,提供了丰富的社交互动功能,成为了一个潜在的广告投放平台。本文将探讨如何利用电报进行社交广告投放,并提出一些......
  • 简化版Transformer来了,网友:年度论文
    前言 从大模型的根源开始优化。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指导班、基础入门班、论文......
  • 简化版Transformer :Simplifying Transformer Block论文详解
    在这篇文章中我将深入探讨来自苏黎世联邦理工学院计算机科学系的BobbyHe和ThomasHofmann在他们的论文“SimplifyingTransformerBlocks”中介绍的Transformer技术的进化步骤。这是自Transformer开始以来,我看到的最好的改进。大型语言模型(llm)可以通过各种扩展策略扩展其功......
  • 如何使用Selenuim浏览器自动化框架实现自动登录社交媒体账号和自动发布文章
    在当今社交媒体盛行的时代,程序员们经常需要在不同的平台上自动执行一些任务,比如登录社交媒体账号并发布文章。本文将介绍如何利用Selenium浏览器自动化框架实现这一任务,同时结合万媒易发多平台内容同步助手,提高文章发布的效率。技术栈为了实现自动登录社交媒体账号和自动发布文......
  • Python-JSON文件操作简化的工具库,支持读取和修改
    这是一个关于python操控json的工具类可以利用get方法以路径的形式查看内容,输出的格式为列表或字典change方法用于修改指定路径下的内容,支持修改内容为字典和列表的形式修改后使用save方法进行保存以下是代码:importjsonimporttimeimportrandomclassError_message:......
  • C#简化工作之实现网页爬虫获取数据
    公众号「DotNet学习交流」,分享学习DotNet的点滴。1、需求想要获取网站上所有的气象信息,网站如下所示:目前总共有67页,随便点开一个如下所示:需要获取所有天气数据,如果靠一个个点开再一个个复制粘贴那么也不知道什么时候才能完成,这个时候就可以使用C#来实现网页爬虫获取这些数据......
  • 机器学习——K近邻算法-kd(简化因数据过过多而造成的搜索复杂度大)
    kd树是为了减少搜索最近邻点的时间复杂度,一般来说可以使用穷举法,但是太耗时,因此采用平衡二叉树的思想来解决这个问题"""ThisistheimplementationofKnn(KdTree),whichisaccessibleinhttps://github.com/FlameCharmander/MachineLearning,accomplishedbyFlameCharma......