편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2019.12.20

    파일 읽고 쓰기) 데이터 별로 리스트를 만들어 작성하는 방법이 무엇인가요?


    import os
    QUIT = 7
    
    def get_menu_choice:
        print()
        print('메뉴')
        print('---------------------------------')
        print('1.도서 등록')
        print('2.도서목록 전체 출력')
        print('3.도서 개별 검색')
        print('4.도서 정보 삭제(개별)')
        print('5.도서 정보 삭제(전체)')
        print('6.대출가능 도서 목록 출력')
        print('7.종료')
        print()
    
        선택 = int(input('선택 >>'))
    
        while 선택 < 1 or 선택 > QUIT :
            선택 = int(input('메뉴 번호는 확인해주세요 : '))
    
        return 선택
    
    def main():
        선택 = 0
        while 선택 != QUIT:
            선택 = get_menu_choice()
    
            if 선택 == 1:
                등록()
            elif 선택 == 2:
                전체출력()
            elif 선택 == 3:
                개별출력()
            elif 선택 == 4:
                개별삭제()
            elif 선택 == 5:
                전체삭제()
            elif 선택 == 6:
                가능목록출력()
    
    def 등록():
        계속 = 'y'
        도서_파일 = open('도서목록.txt','a')
        while 계속 =='Y', or 계속 == 'y':
            print('도서에 관한 내용 입력 : ')
            도서명 = input('도 서 명 :')
            저자 = input(' 저 자 :')
            출판사 = input('출 판 사 :')
            대출가능여부 input('대출가능여부:')
    
            도서_파일.write(도서명 + ',')
            도서_파일.write(저자 + ',')
            도서_파일.write(출판사 + ',')
            도서_파일.write(대출가능여부 + '\n')
    
            print('추가할 자료가 더 있습니까?')
            계속 = input('Y = yes, anthing else = no :')
    
        동화_파일.close()
        print('동화목록.txt에 기록을 완료하였습니다.')
    
    def 전체출력():
        도서_파일 = open('도서목록.txt','r')
        표 = []
        라인 = 도서_파일.readline()
        while 라인 != '':
    
            라인 = 라인.rstrip('\n')
            행 = 라인.split(',')
    
            표.append(행)
    
            del 행
    
            라인 = 도서_파일.readline()
    
        도서_파일.close()
    
        print('도서목록.txt에서 읽은 자료를 화면에 출력합니다.')
        print()
        print('  도 서 명  '+'\t'+ '   저 자   '+'\t'+'출 판 사'+'\t'+' 대출가능여부'+'\t')
        print('-'*60)
        for 행번호 in range(len(표)):
            print(표[행번호][0] +'\t' + 표[행번호][1] + ',' + 표[행번호][2] + ',' + 표[행번호][3]+','+
                       표[행번호][4]+'\t'+표[행번호][5]+'\t'+표[행번호][6])
    
        return 표
    
    
    def 개별출력():
    
        찾았다 = False
    
        검색도서 = input('찾을 도서명을 입력하세요 : ')
        도서_파일 = open('도서목록.txt','r')
        도서명 = 도서_파일.readline()
        while 도서명 != '':
    
            도서명 = 도서명.rstrip('\n')
    
            if 도서명 == 검색도서:
                print('도서명 :',도서명)
                print('저자 :',저자)
                print('출판사 : ',출판사)
                print('대출가능여부 : ',대출가능여부)
                print()
                찾았다 = True
    
            도서명 = 도서_파일.readline()
    
        도서_파일.close()
    
        if not 찾았다 :
            print('찾으시는 도서가 자료에 없습니다.')
    
    
    def 전체출력():
        os.remove('도서목록.txt')
        std_file = open('도서목록.txt','w')
        std_file.close()
    
    
    
    def 대출가능도서():
    
        표 = []
    
        대출여부 = input('검색할 결과를 입력(대출가능 / 대출불가능) : ')
        if 대출여부 == ',':
            return
    
        읽기모드파일 = opne('도서정보.txt','r')
    
    

    위에서 def 대출가능도서() 함수는 대출 가능이라는 값을 입력했을때 대출 가능한 도서들을 리스트로 나오게 하고 싶어요.. 어떻게 해야 할까요? 그리고 위의 함수들에서 잘못된 것이 있다면 알려주셨으면 좋겠어요!

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

    파일 읽고 쓰기) 데이터 별로 리스트를 만들어 작성하는 방법이 무엇인가요?ㅠㅠㅠㅠㅠ


    import os QUIT = 7

    def get_menu_choice: print() print('메뉴') print('---------------------------------') print('1.도서 등록') print('2.도서목록 전체 출력') print('3.도서 개별 검색') print('4.도서 정보 삭제(개별)') print('5.도서 정보 삭제(전체)') print('6.대출가능 도서 목록 출력') print('7.종료') print()

    선택 = int(input('선택 >>'))
    
    while 선택 < 1 or 선택 > QUIT :
        선택 = int(input('메뉴 번호는 확인해주세요 : '))
    
    return 선택
    

    def main(): 선택 = 0 while 선택 != QUIT: 선택 = get_menu_choice()

        if 선택 == 1:
            등록()
        elif 선택 == 2:
            전체출력()
        elif 선택 == 3:
            개별출력()
        elif 선택 == 4:
            개별삭제()
        elif 선택 == 5:
            전체삭제()
        elif 선택 == 6:
            가능목록출력()
    

    def 등록(): 계속 = 'y' 도서_파일 = open('도서목록.txt','a') while 계속 =='Y', or 계속 == 'y': print('도서에 관한 내용 입력 : ') 도서명 = input('도 서 명 :') 저자 = input(' 저 자 :') 출판사 = input('출 판 사 :') 대출가능여부 input('대출가능여부:')

        도서_파일.write(도서명 + ',')
        도서_파일.write(저자 + ',')
        도서_파일.write(출판사 + ',')
        도서_파일.write(대출가능여부 + '\n')
    
        print('추가할 자료가 더 있습니까?')
        계속 = input('Y = yes, anthing else = no :')
    
    동화_파일.close()
    print('동화목록.txt에 기록을 완료하였습니다.')
    

    def 전체출력(): 도서파일 = open('도서목록.txt','r') 표 = [] 라인 = 도서파일.readline() while 라인 != '':

        라인 = 라인.rstrip('\n')
        행 = 라인.split(',')
    
        표.append(행)
    
        del 행
    
        라인 = 도서_파일.readline()
    
    도서_파일.close()
    
    print('도서목록.txt에서 읽은 자료를 화면에 출력합니다.')
    print()
    print('  도 서 명  '+'\t'+ '   저 자   '+'\t'+'출 판 사'+'\t'+' 대출가능여부'+'\t')
    print('-'*60)
    for 행번호 in range(len(표)):
        print(표[행번호][0] +'\t' + 표[행번호][1] + ',' + 표[행번호][2] + ',' + 표[행번호][3]+','+
                   표[행번호][4]+'\t'+표[행번호][5]+'\t'+표[행번호][6])
    
    return 표
    

    def 개별출력():

    찾았다 = False
    
    검색도서 = input('찾을 도서명을 입력하세요 : ')
    도서_파일 = open('도서목록.txt','r')
    도서명 = 도서_파일.readline()
    while 도서명 != '':
    
        도서명 = 도서명.rstrip('\n')
    
        if 도서명 == 검색도서:
            print('도서명 :',도서명)
            print('저자 :',저자)
            print('출판사 : ',출판사)
            print('대출가능여부 : ',대출가능여부)
            print()
            찾았다 = True
    
        도서명 = 도서_파일.readline()
    
    도서_파일.close()
    
    if not 찾았다 :
        print('찾으시는 도서가 자료에 없습니다.')
    

    def 전체출력(): os.remove('도서목록.txt') std_file = open('도서목록.txt','w') std_file.close()

    def 대출가능도서():

    표 = []
    
    대출여부 = input('검색할 결과를 입력(대출가능 / 대출불가능) : ')
    if 대출여부 == ',':
        return
    
    읽기모드파일 = opne('도서정보.txt','r')
    

    위에서 def 대출가능도서() 함수는 대출 가능이라는 값을 입력했을때 대출 가능한 도서들을 리스트로 나오게 하고 싶어요.. 어떻게 해야 할까요? 그리고 위의 함수들에서 잘못된 것이 있다면 알려주셨으면 좋겠어요!