创建名为Mailbox的类,该类使用名为Message的现有类来添加、删除和检索存储在列表中的电子邮件?

2024-04-26 10:44:16 发布

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

Message类允许打印带有发送者、接收者和消息的消息。类应该允许用户添加、删除和检索基于索引存储的电子邮件。到目前为止,消息类工作正常。但是,Mailbox类没有。以下是迄今为止我掌握的代码:

class Message :

    def __init__(self, sender, recipient) :
        self._sender = sender
        self._recipient = recipient
        self._message = ""

    def append (self, message) :
        self._message = self._message + message

    def toString(self) :
        theMessage = "From: " + self._sender + "\n"
        theMessage = theMessage + "To: " + self._recipient + "\n"
        theMessage = theMessage + self._message
        return theMessage

class Mailbox(Message) :

    def __init__(self, messages, index) :
        self._messages = messages

    def addMessage (self, message) :
        self._messages.append(theMessage)

    def getMessage (self, index) :
        return self._messages[index]

    def removeMessage (self, index) :
        self._index = messages.pop(index)

我还有测试用例来测试类是否正常工作:

from HomeworkP925 import Message, Mailbox

sender = input("Please enter the sender information: ")
recipient = input("Please enter the recipient information: ")
myMessage = Message(sender, recipient)
printedMessage = ""

textMessage = input("Please enter the email message: ")

while textMessage != "end" :
    printedMessage = printedMessage + "\n" + textMessage
    textMessage = input("> ")

myMessage.append(printedMessage)

print(myMessage.toString())

print(getMessage[index])

测试用例可以很好地打印发送者、接收者和消息。但是我得到一个错误:name'getMessage'没有定义,我假设这是因为测试用例中没有名为getMessage的变量。如何将打印的消息存储在列表中?你知道吗


Tags: self消息messageinputindexdefsendermessages
1条回答
网友
1楼 · 发布于 2024-04-26 10:44:16

你的问题需要更多关于你试图做什么,哪里出错了,以及你看到了什么错误信息的细节。你知道吗

但是,我要说,你的Mailbox.getMessage()似乎错了。第一行应该是

print(self._messages[index])

注意用于数组索引的方括号,而不是圆括号,它试图像函数一样调用self._messages。第二行应该是

return self._messages[index]

因为没有这样的变量messages。我假设您还想返回一个特定的消息,由index索引。你知道吗

相关问题 更多 >