파이썬 질문
본문
밑에 있는 사진처럼 코드를 나오게 하고 싶어서 이렇게 코드를 짜봤는데 실행을 하면 계속 오류가 뜹니다. 뭐가 잘못된건지 알려주실 수 있으실까요
class Person:
def __init__(self, name, mobile=None, email=None):
self.__name = name
self.__mobile = mobile
self.__email = email
def __str__(self):
p = "< Name: " + str(self.__name) + " >\n"
if self.__mobile != None:
p += "mobile phone: " + str(self.__mobile) + "\n"
if self.__email != None:
p += "email address: " + str(self.__email) + "\n"
return p
#접근자
def getName(self):
return self.__name
def getMobile(self):
return self.__mobile
def getEmail(self):
return self.__email
#설정자
def setName(self, n):
self.__name = n
def setMobile(self, m):
self.__mobile = m
def setEmail(self, e):
self.__email = e
class Phonebook:
def __init__(self):
self.__contacts = dict()
def __str__(self):
p = ''
for who in sorted(self.__contacts):
p += str(self.__contacts[who]) + "\n"
return p
def add(self, name, mobile=None, email=None):
who = Person(name, mobile, email)
self.__contacts[name] = who
def main7():
print("no.7\n")
obj = Phonebook()
obj.add("Kim", mobile="*** 개인정보보호를 위한 휴대폰번호 노출방지 ***", email="*** 개인정보보호를 위한 이메일주소 노출방지 ***")
obj.add("lee", mobile="*** 개인정보보호를 위한 휴대폰번호 노출방지 ***", email="*** 개인정보보호를 위한 이메일주소 노출방지 ***")
obj.add("park", mobile="*** 개인정보보호를 위한 휴대폰번호 노출방지 ***", email="*** 개인정보보호를 위한 이메일주소 노출방지 ***")
print(obj)
답변 1
올려주신코드를 실행해보면
no.7
< Name: Kim >
mobile phone: *** 개인정보보호를 위한 대폰번호 노출방지 ***
email address: *** 개인정보보호를 한 이메일주소 노출방지 ***
< Name: lee >
mobile phone: *** 개인정보보호를 위한 대폰번호 노출방지 ***
email address: *** 개인정보보호를 한 이메일주소 노출방지 ***
< Name: park >
mobile phone: *** 개인정보보호를 위한 대폰번호 노출방지 ***
email address: *** 개인정보보호를 한 이메일주소 노출방지 ***
와 같은 결과가 나옵니다.
아.. 맨아래에
main7()을 추가했습니다.
!-->