파이썬

22.05.29. todolist 복습

Mara7 2022. 5. 29.
LIST

1. list 알고리즘

	elif command == "list" #list라고 명령을 받는다.
		for i in range(len(todos)) # todos의 모든 리스트가 출력된다. 반복한다. 리스트의 길이는 todos의 길이이다.
			print(todos[i]) # todo 리스트가 출력된다.

2. del 알고리즘

# del 이라고 명령을 받으면, 요소값이 삭제되어야 한다.
# 이름을 입력한다.
name = input(”이름”)
# 설명을 입력한다
desc = input(”설명”)
# 날짜를 입력한다.
date = input(”날짜”)
# for문으로 전체 리스트값을 검토하여 체크한다.
for i in range(len(todos)):
# 만약, [i][0]값이 입력한 이름 값과 같고 , [i][1]이 입력한 설명 값과 같고, [i][2]값이 입력한 날짜값과 같다면,
if name == todos[i][0] and desc == todos[i][1] and date == todos[i][2]:
# 그 값을 삭제한다.
todos.pop(i)
# 삭제 한 후에 끝낸다.
break

 

3. modify 알고리즘

# 이름입력한다.
name = input(”이름”) 
# 설명입력한다
desc = input(”설명”)
# 날짜입력한다
date = input(”날짜”)
# for문을 돌려서 전체 리스트를 찾는다.
for i in range(len(todos)):
# for 문에서 이름, 설명, 날짜 같은 값을 찾는다.
	if name == todos[i][0] and desc == todos[i][1] and date == todos[i][2]:
# 	찾게되면, 이름에 다른 이름 입력
		name = input("이름")
# 설명에 다른 설명 입력
		desc = input("설명")
# 날짜에 다른 날짜 입력
		date = input("날짜")
# 투두리스트 i번째에 이름, 설명, 날짜 순으로 입력되도록 한다.
	todos[i] = (name, desc, date)
# 	입력한 후에 for문을 종료한다.
	break

4. find 알고리즘

from dataclasses import field
from re import A


todos = []
while True:
    command = input("명령")
    if command == "add":
        name = input("이름")
        desc = input("설명")
        date = input("날짜")
        todos.append((name, desc, date))
    elif command == "del": # 이름,설명,날짜를 입력받는다.  
        name = input("이름")
        desc = input("설명")
        date = input("날짜")
        for i in range (len(todos)):
            if name == todos[i][0] and desc == todos[i][1] and date == todos[i][2]:# for 문에서 입력받은 값을 찾는다.
                todos.pop(i) # 반환 후에 pop으로 삭제한다.
                break # 입력받은 값을 찾으면 for문이 종료된다.
    elif command == "mod":
        name = input("이름")
        desc = input("설명")
        date = input("날짜")
        for i in range (len(todos)):
            if name == todos[i][0] and desc == todos[i][1] and date == todos[i][2]:# for문에서 입력받은 값을 찾는다.
                name = input("이름")
                desc = input("설명")
                date = input("날짜") # 입력받은 값을 찾으면 입력을 다시 받고 수정한다.
                todos[i]=(name,desc,date)
                break
    elif command == "list":
        for i in range (len(todos)):
            print(i, todos[i])
    elif command == "find":
        field = input("이름,설명,날짜 중에 입력하세요") # 입력받을 값이 이름,설명,날짜 중에 어느것인지 체크한다. 
        if field == "이름":
            name = input("이름")
            for i in range (len(todos)):
                if name == todos[i][0]: # 이름이나 설명이나 날짜를 입력받는다.
                    print(todos[i])  # 입력받은 값이 이름이면, 이름 인덱스에서 값을 찾아서 출력한다.
        elif field == "설명":
            desc = input("설명")
            for i in range (len(todos)):
                if desc == todos[i][1]: # 이름이나 설명이나 날짜를 입력받는다.
                    print(todos[i])# 입력받은 값이 설명이면, 설명 인덱스에서 값을 찾아서 출력한다.
        elif field == "날짜":
            date = input("날짜")
            for i in range (len(todos)):
                if date == todos[i][2]: # 이름이나 설명이나 날짜를 입력받는다.
                    print(todos[i])# 입력받은 값이 날짜이면, 날짜 인덱스에서 값을 찾아서 출력한다.
        # for문에서 입력받은 값을 찾는다.
        # 입력받은 값을 반환한다.
반응형
LIST

'파이썬' 카테고리의 다른 글

파일 읽기 쓰기  (0) 2022.06.30
7. 입력과 출력  (0) 2022.06.28
5장 자료구조 3_리스트 컴프리헨션  (0) 2022.05.15
5장 자료구조 2_ 리스트 vs 스택 vs 큐  (0) 2022.05.14
5장_자료 구조  (0) 2022.05.14

댓글