我想使用以下类将我拥有的程序转换为 OOP:

class Person:
    name: None
    sent: None
    recieved: None
    totalNum = None
    # Getters and setters are assumed
    def __init__(self, name, sent, recieve):
        self.name = name
        self.sent = sent
        self.recieve = receive
    def totalMovements(self):
        return self.sent+self.receive

我有一个包含多行的文件,我只对每一行的第一个和第二个元素感兴趣。

文件结构为:

'BOB'    'SAMANTHA'
'JOHN'   'TOM'
'MAT'    'JEN'
'SIMON'  'BOB'
'TOM'    'CHARLIE'
'BOB'    'CHARLIE'

每列的名称出现频率,定义了每个人发送(第 1 列)和接收(第 2 列)的数量。

举个例子,最终的输出应该是:

output:
       NAME SENT RECIEVE  TOTALNUM
       BOB   2     1         3
       TOM   1     1         2

因为只有 BOB 和 TOM 在两列上。

到目前为止,我已经尝试在读取文件并将每个对象 person 存储在列表中时在同一个 for 循环中创建每个对象,但是在尝试检查对象是否已经在列表中时我无法让它工作。

我知道我可以通过以下方式创建对象:

    person_List = []
    with open(fileName) as file:
        for line in file:
            words = line.split(';')
            sent = words[0]
            recieve = words[1]
            if sent not in person_List:
                person_List.append(Person(sent, 1, 0)
            else:
                 # would retrieve the person existing in the list and setSent(1)

但是我做错了一些事情,因为它不起作用。 我想知道我是否可以管理列表中已经存在的对象 Person 的所有检查,并将发送和接收的数量添加到它。

任何提示?

  ask by telematics76 translate from so

本文未有回复,本站智能推荐:

5回复

面向对象编程python

我需要实现一个名为运动者的类,该类采用__init__(self,names,fastest_time)和另一种方法fastest_time ,该方法将显示最快运动员的名称和时间: 到目前为止,我有这个: 问题:不知道是否需要遍历数组名称“ times”? 不知道如何实现最快的方法。
1回复

面向对象的编程Python-类属性

我试图了解 Python OO(面向对象)中的类属性。 假设我有以下代码。 如果我们打印surname ,如上所示,它会抛出以下错误: NameError: name 'surname' is not defined 。 那么,如何从类的外部或内部访问这个类属性?
1回复

如何使python脚本更好和面向对象?[关闭]

关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来
1回复

面向对象的编程分配

关闭。 此问题不可重现或由拼写错误引起。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其成为 St
3回复

如何以面向对象的方式编写消息队列处理?

如果您必须编写从消息队列中获取消息并更新数据库中的表的代码,那么如何以一种很好的方式构造它。 您将如何组织它? 消息是XML数据,表中每行一个节点。 表中的行可以更新,删除或插入。
1回复

面向对象的Tkinter,在具有许多框架的gui小部件之间进行通信的最佳方式

我试图找出在不同的小部件之间进行通信的最佳方式是什么,这些小部件是从tkinter小部件继承的自定义类,并且存在多个框架(以帮助进行布局管理)。 考虑下面的简单gui(为python 3编写,将tkinter更改为python 2的Tkinter): 之所以将它们放在不同的框架中,是因为我
2回复

尝试以面向对象的方式传递类和函数中的变量列表

我试图以面向对象的方式在类和函数中传递变量列表,但是遇到一些错误,我不明白它有什么问题,我正在Eclipse中使用PyDev 码 输出值
1回复

面向对象的Tkinter-多帧居中

所以我正在用 Python 编写一个面向对象的程序并使用 Tkinter 来构建一个 GUI。 我是面向对象和 Tkinter 的新手,所以我一直在 youtube、effbot.org、stackoverflow 和 zetcode.com 上使用 Sentdex 视频来帮助我。 这是我的程序,我