편집 기록

편집 기록
  • 프로필 정영훈님의 편집
    날짜2018.11.12

    for in문 왜 실행이 안되는지 질문


    menu = 0
    friendList = []
    phonenumber = []
    #전화번호부 메뉴를 함수로 작성한다.
    def print_menu():
        print("------------------------------------------------")
        print("1. 친구 리스트 출력")
        print("2. 친구 이름/전화번호 추가")
        print("3. 친구 전화번호 검색")
        print("4. 친구 이름/전화번호 삭제")
        print("5. 친구 이름/전화번호 변경")
        print("9. 종료")
        print("------------------------------------------------")
        menu = int(input("*** 메뉴를 선택하시오: "))
        print("------------------------------------------------")
        return int(menu)
    
    class FDirectory:
        def _init_(self):
            self.friendList = []
        def append(self):
            self.friendList = friendList
            print("------------------------------------------------")
            nf = input("이름을 입력하시오: ")
            self.friendList.append(nf)
            print("------------------------------------------------")
            a_phonenumber = input("전화번호를 입력하시오: ")
            self.friendList.append(a_phonenumber)
            print("------------------------------------------------")
            print("*** 추가 완료 ***")
            print("------------------------------------------------")
        def printFList(self):
            for i in self.friendList:
                i.printF()
        def searchIndex(self):
            index = 0
            for i in range(len(self.friendList)):
                if Friend.getName[i]==sName:
                    return index
                index=index+1
            return -1
        def searchNumber(self):
            sName = None
            print("------------------------------------------------")
            sName = input("검색하고 싶은 친구 이름을 입력하시오: ")
            if sName in name:
                order = name.index(sName)
                print("------------------------------------------------")
                print('"',name[order],'"',"전화번호: ",phonenumber[order])
                print("------------------------------------------------")
                print("*** 검색 완료 ***")
                print("------------------------------------------------")
            num = searchIndex(sName)
            return friendList[num].getNumber()
        def eraseIndex(self):
            index = 0
            for i in range(len(self.friendList)):
                if Friend.getName==eName:
                    del(eName)
                index=index+1
            return -1
        def eraseNumber(self):
            num = eraseIndex(eName)
    
        def run(self):
            while(1):
                menu=print_menu()
                if menu == 1:
                    FDirectory.printFList(self)
                elif menu == 2:
                    FDirectory.append(self)
                elif menu == 3 :
                    FDirectory.searchIndex(self)
                    FDirectory.searhNumber(self)
                elif menu == 4:
                    FDirectory.eraseIndex(self)
                    FDirectory.eraseNumber(self)
                elif menu == 9:
                    print("*** 프로그램 종료 ***")
                    print("-------------------------------------------------")
                    break
    
    #전화번호부 메뉴대로 기능하는 클래스를 구현한다.
    class Friend:
        #초기 이름과 전화번호가 존재하지 않는다고 한다.
        def __init__(self,name=None,phonenumber=None):
            self.name = name
            self.phonenumber = phonenumber
        def printF(self):
            for i in range(len(self.friendList)):
                print("== 친구 ",i+1,"================================")
                print("이름:",self.name[i])
                print("전화번호:",self.phonenumber[i])
                print("===================================")
            print("*** 출력 완료 ***")
            print("------------------------------------------------")
    
        def getName(self):
            return self.name
        def getNumber(self):
            return self.number
    
    myList = FDirectory()
    myList.run()
    

    여기에서 def printFList(self): for i in self.friendList: i.printF()

    부분이 실행안되고 'str' object has no attribute 'printF' 이렇게 뜨는데 어디에서 잘못된지 모르겠어서요 질문합니다.ㅜㅜstrong text

  • 프로필 알 수 없는 사용자님의 편집
    날짜2018.11.11

    for in문 왜 실행이 안되는지 질문


    menu = 0 friendList = [] phonenumber = []

    전화번호부 메뉴를 함수로 작성한다.

    def print_menu(): print("------------------------------------------------") print("1. 친구 리스트 출력") print("2. 친구 이름/전화번호 추가") print("3. 친구 전화번호 검색") print("4. 친구 이름/전화번호 삭제") print("5. 친구 이름/전화번호 변경") print("9. 종료") print("------------------------------------------------") menu = int(input("*** 메뉴를 선택하시오: ")) print("------------------------------------------------") return int(menu)

    class FDirectory: def init(self): self.friendList = [] def append(self): self.friendList = friendList print("------------------------------------------------") nf = input("이름을 입력하시오: ") self.friendList.append(nf) print("------------------------------------------------") a_phonenumber = input("전화번호를 입력하시오: ") self.friendList.append(a_phonenumber) print("------------------------------------------------") print("*** 추가 완료 ") print("------------------------------------------------") def printFList(self): for i in self.friendList: i.printF() def searchIndex(self): index = 0 for i in range(len(self.friendList)): if Friend.getName[i]==sName: return index index=index+1 return -1 def searchNumber(self): sName = None print("------------------------------------------------") sName = input("검색하고 싶은 친구 이름을 입력하시오: ") if sName in name: order = name.index(sName) print("------------------------------------------------") print('"',name[order],'"',"전화번호: ",phonenumber[order]) print("------------------------------------------------") print(" 검색 완료 ***") print("------------------------------------------------") num = searchIndex(sName) return friendList[num].getNumber() def eraseIndex(self): index = 0 for i in range(len(self.friendList)): if Friend.getName==eName: del(eName) index=index+1 return -1 def eraseNumber(self): num = eraseIndex(eName)

    def run(self):
        while(1):
            menu=print_menu()
            if menu == 1:
                FDirectory.printFList(self)
            elif menu == 2:
                FDirectory.append(self)
            elif menu == 3 :
                FDirectory.searchIndex(self)
                FDirectory.searhNumber(self)
            elif menu == 4:
                FDirectory.eraseIndex(self)
                FDirectory.eraseNumber(self)
            elif menu == 9:
                print("*** 프로그램 종료 ***")
                print("-------------------------------------------------")
                break
    

    전화번호부 메뉴대로 기능하는 클래스를 구현한다.

    class Friend: #초기 이름과 전화번호가 존재하지 않는다고 한다. def init(self,name=None,phonenumber=None): self.name = name self.phonenumber = phonenumber def printF(self): for i in range(len(self.friendList)): print("== 친구 ",i+1,"================================") print("이름:",self.name[i]) print("전화번호:",self.phonenumber[i]) print("===================================") print("*** 출력 완료 ***") print("------------------------------------------------")

    def getName(self):
        return self.name
    def getNumber(self):
        return self.number
    

    myList = FDirectory() myList.run()

    여기에서 def printFList(self): for i in self.friendList: i.printF() 부분이 실행안되고 'str' object has no attribute 'printF' 이렇게 뜨는데 어디에서 잘못된지 모르겠어서요 질문합니다.ㅜㅜstrong text