0
from datetime import datetime

class sms_store:
    store = []
    read = []
def add_new_arrival(self,number,time,text):
    sms_store.read.append(len(sms_store.store))
    sms_store.store.append(("From: {}, Recieved: {}, Msg: {}".format(number,time,text)))
def delete(self,i):
    try:
        del sms_store.store[i]
    except IndexError:
        print("Index is out of range. Cannot delete")
def message_count(self):
    return print("Amt of messages in inbox: {}".format(len(sms_store.store)))
def viewall(self):
    print(sms_store.store)
def get_unread_indexes(self):
    #### ###################################I need help for this method.
def get_message(self,i)
    print(sms_store.store[i])
### tests ####
time = datetime.now().strftime('%H:%M:%S')
my_inbox = sms_store() #instantiate an object 'store' for class
my_inbox.add_new_arrival("12345",time,"Hello how are you?") #instance of store object
my_inbox.add_new_arrival("1111111",time,"BYE BYE BYE")
my_inbox.viewall()
my_inbox.msgcount()

ご覧いただきありがとうございます。

これは私がする必要があることです:

my_inbox.add_new_arrival()

新しいメッセージを追加すると、その has_been_viewed ステータスは False に設定されます。

my_inbox.get_unread_indexes()

まだ表示されていないすべての SMS メッセージのインデックスのリストを返します

my_inbox.get_message(i)**

message[i] の (from_number、time_arrived、text_of_sms) を返します。また、その状態を「閲覧済み」に変更します。位置 i にメッセージがない場合は、None を返します

上記の方法で私を助けてください!?

どうもありがとう!

4

3 に答える 3

1

こんにちは、私はあなたのコードを少し調整しました。「コンピューター科学者の本のように考える方法」でこれを行ったことがあると思います。うまくいくことを願っています。

from datetime import datetime

class SMS_store:

それから

def __init__(self):
    self.store = []


def __str__(self):
    return ("{0}".format(self))

def add_new_arrival(self, number, time, text ):
    self.store.append(("Read: False", "From: "+number, "Recieved: "+time, "Msg: "+text))

def message_count(self):
    return (len(self.store))

def get_unread_indexes(self):
    result = []
    for (i, v) in  enumerate(self.store):
        if v[0] == "Read: False":
            result.append(i)
    return (result)

def get_message(self, i):
    msg = self.store[i]
    msg = ("Read: True",) + msg[1:]
    self.store[i] = (msg)
    return (self.store[i][1:])

def delete(self, i):
    del self.store[i]

def clear(self):
    self.store = []
于 2016-03-19T20:30:17.313 に答える
0

未読という別のリストをクラスに追加してみませんか。add_new_arrivalメッセージを未読に追加するように変更します。

次に、get_messageメソッドの下で、指定されたメッセージを未読から既読に移動します。

最後に、get_unreadメソッドは未読リストのインデックスをリストするだけです。

于 2013-04-26T16:37:14.407 に答える