데이터 꿈나무

[Python] 리스트 연습_개인의 할 일 목록을 관리하는 프로그램(list, append, remove) 본문

Language/Python

[Python] 리스트 연습_개인의 할 일 목록을 관리하는 프로그램(list, append, remove)

ye_ju 2023. 1. 2. 07:00

안녕하세요~ 이번 포스팅은 리스트를 사용하여 개인의 할 일 목록을 관리하는 프로그램을 만들어보려고 합니다. 

우선 규칙 먼저 보시죠!

 

※ 규칙

1. 처음에는 빈 목록으로 시작한다.
2. 목록을 입력(추가), 삭제할 수 있다.
3. 특정한 일을 완료했을 경우 목록에서 삭제한다.
4. 새로운 일을 해야 할 경우 목록에 추가한다.
5. 컴퓨터는 사용자에게 추가할 일이 있는지, 완료한 일이 있는지를 물어본다.
6. 모든 일이 다 완료된 경우 휴가 메시지를 보낸다.

empty_list = []

while True:
    add = input("할 일을 추가하려면(y), 완료한 일이 있으면(n)")
    
    if (add == 'y'):
        work = input("할 일을 추가하세요 :")
        empty_list.append(work)
        print('지금까지의 할 일 목록은', empty_list, "입니다.\n")
    
    elif (add == 'n'):
        end = input("완료한 일을 입력하세요 : ")
        
        if (end in empty_list):  # 할일 목록에 완료한 일이 있으면 
            empty_list.remove(end)
            print("\n완료한 일은 삭제합니다.")
            print("지금까지 남은 할 일 목록은", empty_list,"입니다.\n")
            if len(empty_list) == 0:
                print("모든 일을 다 완료했습니다. 즐거운 휴가되세요~!")
                break
            else:
                continue
                
        else:   # 완료한 일이 없으면 다시입력(continue)
            print("완료한 일이 없습니다. 다시 입력하세요\n")
            continue
            
    else:
        print("y와 n만 입력할 수 있습니다. 다시 입력하세요.\n")
        continue

 

빈 리스트인 empty_list 변수를 생성해줍니다.

while문을 사용하여 할 일을 추가하거나 완료한 일이 있으면 계속해서 입력하도록 반복문을 실행해주었습니다.

먼저 input 함수를 이용해서 할 일을 추가하려면 y를 입력하고, 완료한 일을 입력하려면 n을 입력하도록 입력을 받습니다. 그리고 그 입력받은 것을 add 변수에 넣어주었습니다.

만약(if) add가 ‘y’이면 할 일을 추가한다는 뜻이기 때문에 사용자에게 할 일을 추가받기 위해 input문을 사용하여 추가할 일을 입력하도록 합니다. 사용자가 입력한 추가한 일을 work 변수에 넣어줍니다. 그리고 empty_list.append(work)를 해주어 비어있던 할 일 목록 리스트에 사용자가 입력한 추가한 일(work)를 추가해줍니다.

그 후 empty_list를 출력하여 지금까지의 할 일 목록을 사용자에게 알려줍니다.

 

그게 아니라 add가 ‘n’이면 완료한 일을 입력한다는 뜻이기 때문에 사용자에게 완료한 일을 입력받기 위해 input문을 사용하여 완료한 일을 입력하도록 합니다. 그것을 end 변수에 저장해줍니다.

 

완료한 일을 입력한 후, 만약(if) 할 일 목록(empty_list)에 완료한 일(end)이 있으면 empty_list.remove(end)를 해주어 할 일 목록에서 완료한 일을 삭제하도록 합니다.

사용자에게 완료한 일은 삭제한다는 메시지를 보낸 후 지금까지의 남은 할 일 목록을 출력해줍니다.

 

만약(if) 할 일 목록이 모두 비었을 경우, 휴가 메시지를 보내고 break문을 사용하여 while문을 빠져나옵니다. 참고로 len(empty_list) == 0을 통해 empty_list의 길이가 0이면 모든 일이 완료된 경우를 뜻합니다.

그게 아니면(할 일 목록이 다 비어있지 않은 경우), continue를 해주어 사용자가 다시 할 일을 추가하거나 완료한 일을 입력하도록 반복문을 계속해나갑니다.

 

사용자가 입력한 완료한 일(end)가 할 일 목록(empty_list)에 없으면, 완료한 일이 없는 것을 뜻하므로 다시 입력하라는 메시지를 print하고 다시 입력하도록 continue해줍니다.

 

처음에 사용자가 할 일을 추가하거나 완료한 일을 입력하고자 할 때 ‘y‘와 ‘n‘이 아닌 다른 값을 입력하면 ’y와 n만 입력할 수 있습니다. 다시 입력하세요.‘라는 메시지를 통해 continue를 해주어 다시 입력하도록 합니다.


 

출력 결과

 

 

Comments