질문과 답변.py

박상영·2020년 5월 12일
0

리스트 내에 딕셔너리를 만들고 그 안에서 질문과 답변을 출력하는 코드를 작성해보았다.

total_list = []

while True:
    question = input("질문을 입력해주세요 : ")
    if question == "q":
    	break
    else:
    	total_list.append({"질문" : question, "답변" : ""})
        
for i in total_list:
    print(i["질문"])
    answer = input("답변을 입력해주세요 : ")
    i["답변"] = answer
    
print(total_list)

전체적인 코드는 짧은 편이지만, 이 코드 내에서 들어가는 list, dictionary, index, for, while, if 등 다양한 방법이 들어가 간단하면서도 이해하기 쉬웠다.

먼저 while문.

while True:
    question = input("질문을 입력해주세요 : ")

가장먼저 질문과 답변에서 "질문"을 입력해보았다.
질문이 몇개인지 정해지지않은 값이기때문에 while문을 사용 하여 무한loop를 만들었다.

    if question == "q":
    	break
    else:
    	total_list.append({"질문" : question, "답변" : ""})

그다음 if문을 사용하여 무한loop를 탈출할수있는 방법을 작성하였고, 탈출을 원하지 않을때에는 질문을 계속 할수있고 total_list에 질문이 저장이 되도록 만들었다.
total_list내에 dictionary 를 만들어 출력하는 형식을 만들고 "질문" 이라는 key값에 value의 값이 저장이 되도록 만들었다.

for문.

for문을 사용한 이유는 question이라는 값에 "답변" 을 해야하는데
위에서 주어진 "질문" 의 갯수는 이미 정해져있기때문에 for문을 사용하였다.

for i in total_list:
    print(i["질문"])
    answer = input("답변을 입력해주세요 : ")

먼저 i 에 total_list의 값을 준다. 그다음 가독성을 위해 누구나 봐도 "아 이 질문에 답변을 해달라는거구나" 할 수 있을정도로 i["질문"] 을 사용하였다. 출력을 하면 total_list에서 i에게 하나씩 빼어 값을 건네주기때문에 가장먼저 질문한 "질문"이 출력이된다. 그럼으로서 answer에 input을 사용하여 "질문" 에 대한 값을 작성할수있도록 하였다.

    i["답변"] = answer
    
print(total_list)

그다음 위에서는 i["질문"] 을 사용하였지만, 위에 while문에서 "답변" 의 value는 빈 상태로 저장을 했기때문에
i["답변"]에 answer변수에 입력한 값이 저장되도록 하여
total_list안에 저장되어있는 "질문" 에 대한 "답변"이 저장되도록 해봤다.

느낀점.

비록 보기에는 짧은 코드이고 사용한 skill또한 별로이지만,
이런 코드내에서도 배울수있는 것들이 많이있었다.
list에 dict를 정하여 그 dict내에서 index를 사용하여 원하는 index에 값을 저장하는 방법을 배운것이 이 코드내에서 가장 잘 배운거같다.

profile
backend

0개의 댓글