0
이 문제는 여러 가지 해결책이이 포럼에서 제안되었지만 코드를 작성하고 이해할 수없는 오류가 발생하여 대부분 여기에서 묻습니다.SMS 메시지 저장
from datetime import datetime
class SMSstore:
store = []
read = []
unread =[]
def addNewArrival(number,time,text):
SMSstore.store.append(("From: {}, Recieved: {}, Msg: {}".format(number,time,text)))
def messageCount():
return print("Number of Messages in Inbox: {}".format(len(SMSstore.store)))
def viewall():
print(SMSstore.store)
def getUnreadIndexes():
for message in SMSstore.store:
if message[0] == False:
unread.append(self.__inbox.index(message))
return unread
def getMessage(i):
SMSstore.read.append(len(SMSstore.store))
print(SMSstore.store[i])
def delete(i):
try:
del SMSstore.store[i]
except IndexError:
print("Index is out of range. Cannot delete")
def clear():
del SMSstore.store
time = datetime.now().strftime('%H:%M:%S')
myInbox = SMSstore()
myInbox.addNewArrival("1234567890",time,"What is your name?")
myInbox.addNewArrival("0987654321",time,"What is your quest?")
myInbox.viewall()
myInbox.msgcount()
myInbox.delete(i)
myInbox.clear()
내가 오류는 다음과 같습니다 :
line 37, in <module>
TypeError: addNewArrival() takes exactly 3 arguments (4 given)
감사합니다! 문제가 해결 된 것 같습니다. 그러나 이제는'29 행을 가져옵니다. TypeError : 예상 인덱스 값, 인스턴스가 있습니다. ' – galacticcannibalism
은 ** self **와 같은 클래스를 참조해야하는 클래스 내에서 비슷합니다. 당신은'self.store' 또는'self.read' 나'self.unread'를 할 필요가 있습니다. 당신은 더 많은 실수를 가지고 있습니다. ** i **를 arg와 같이 전달하기 위해 정의 할 필요가 있습니다. ** messageCount ** 메소드를 잘못된 이름으로 호출하고 있습니다. – agugliotta