random.choice

박상영·2020년 5월 11일
0

항상 모든 사람들의 고민 식사메뉴를 골라보는 코드를 작성하였습니다.

import random
import time

lunch = []

while True:
    print(lunch)
    food = input("음식을 추가해주세요 : ")
    if (food == "q"):
    	break
    else:
    	lunch.append(food)
        
 print(lunch)

우선 추가하여 저장할 변수를 만들어준다 ex)lunch
while문을 사용한 이유는 for문을 이용하여 주어진 횟수만큼 작동시킬수 있지만, 리스트에 몇번, 또는 몇회가 추가될지 모르기 때문에 끝이없는 무한loop인 while True:를 사용했다.
그다음 food에 추가 할 음식을 입력하도록 input()을 사용하였고, 무한loop를 탈출하기위해 if문을 작성하여 q를 입력시 다음으로 넘어가고 q를 입력 안했다면 lunch의 변수에 food라는 변수를 추가하는 if문을 작성하였다.

set_lunch = set(lunch)

만약에 lunch의 변수에 불필요하게 같은 이름의 음식이 여러개 있다면, 여러개의 음식을 하나로 만드는 집합set()을 이용하여 다른 변수에 저장했다.

while True:
	print(set_lunch)
    food = input("음식을 삭제해주세요 :")
    if (food == "q"):
    	break
    else:
    	set_lunch = set_lunch - set([food])

음식을 추가한다음 삭제가 필요하면 삭제를 할수있는 while문을 작성하였다.
else:에 작성되어있는 set_lunch는 위에서 set(lunch)를 저장한 set_lunch에 차집합을 이용하여 음식을 삭제 하는 코드를 작성했다. 하지만 위에 food는 집합으로된 값이 아니기때문에 리스트로 만들어 집합으로 다시 만들어주는 set([]) 을 사용하였다.

print(set_lunch, "중에서 선택합니다.")
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)

그 다음 바로 random을 사용하여 출력하기엔 심심하여 time.sleep을 이용하여 카운트다운을 하였다.

print((random.choice(list(set_lunch))))

마지막으로 random.choice()을 이용하여 무작위 값을 출력하였다. list()을 사용한 이유는 random.choice()가 list에서만 작동하기때문에 set_lunch의 값을 list로 만든다음 무작위로 선택되게끔 만들었다.

profile
backend

0개의 댓글