使用类和方法的Python SMS存储程序-是否已查看状态
谢谢你看这个 这就是我需要做的:使用类和方法的Python SMS存储程序-是否已查看状态,python,class,methods,sms,Python,Class,Methods,Sms,谢谢你看这个 这就是我需要做的: 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: {}".fo
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()
添加新邮件时,其已查看状态设置为False
my_inbox.add_new_arrival()
返回所有尚未查看的SMS消息的索引列表
my_inbox.get_unread_indexes()
返回信息[i]
同时将其状态更改为“已查看”。
如果在位置i没有消息,则返回None
请在上述方法上帮助我
非常感谢你 为什么不在类中添加另一个名为“未读”的列表呢。更改
add\u new\u arrival
将邮件添加到未读状态
然后在get_message
方法下,将指定的消息从未读移动到已读
最后,你的
get_unread
方法只列出了未读列表的索引。嗨,我对你的代码做了一些调整,我想我以前在《如何像计算机科学家一样思考》一书中做过,希望它对你有用
my_inbox.get_message(i)**
及
然后
使用类和方法的Python SMS存储程序-是否已查看状态
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 = []
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 = []
import time
class SMS_store:
def __init__(self):
self.inbox = []
def add_new_arrival(self, from_number, text_of_sms,read_status = False):
number = str(from_number)
time_received = time.strftime("%D %T")
self.inbox.append([time_received, number, text_of_sms, read_status])
def message_count(self):
return "There are {0} messages in your Inbox".format(len(self.inbox))
def get_unread_indexes(self):
unread = []
for index, message in enumerate(self.inbox):
if False in message:
unread.append(index)
return "Unread Messages in:", unread
def get_message(self, index):
message = self.inbox[index]
message[3] = "Read"
return message[ : 3]
def delete(self, index):
del self.inbox[index]
return "Deleted Message", index
def clear(self):
self.inbox = []
return "Empty Inbox"