어떤 조건문을 만들까 엄~청 고민하다가 또 음식에 진심인 나이기 때문에... 끼니를 아무거나로 끝낼 수는 없으므로.. 메뉴를 정해주는 조건문을 만들고 싶었다.
# 공통
import random
# 랜덤 메뉴들
rice_menu = ["김치볶음밥", "뼈 해장국", "콩나물 국밥", "비빔밥", "계란볶음밥"]
rice_out = random.choice(rice_menu)
nuddle_menu = ["라면", "짜장면", "불닭볶음면", "라멘", "냉면", "콩국수", "칼국수"]
nuddle_out = random.choice(nuddle_menu)
bread_menu = ["토스트", "햄버거", "샌드위치", "케이크"]
bread_out = random.choice(bread_menu)
meat_menu = ["삼겹살", "곱창", "치킨", "오리훈제", "돈까스", "양꼬치"]
meat_out = random.choice(meat_menu)
print("배가고프시군요. 음식을 추천해드릴까요?")
start = input()
if start == "네" or start == "응" or start == "yes" :
print("쌀, 면, 빵, 고기 키워드 중 선택해주세요")
else :
print("아쉽군요. 다음 기회에 알려드릴게요")
answer = input()
if answer == "쌀" :
print (rice_out + "을 드세요.")
if answer == "면" :
print (nuddle_out + "추천합니다.")
if answer == "빵" :
print (bread_out + "어때요?")
if answer == "고기" :
print (meat_out + "가즈아!")
else :
print ("어.. 제가 좀 더 분발할게요.. 다른 키워드의 추천 메뉴는 아직 고민해보지 못했어요.")
이게 vs code로 완성한 조건문이다.
음식 추천을 받을지 말지에 대한 내용은 if 와 else를 사용했고
키워드 선택에 따라 추천해줄 메뉴들은 if 를 연속해서 사용했다.
(만들다보니 이렇게 됐는데 elif를 사용하지 못한게 조금 아쉽다. 다음에 한번 더 조건문을 만들어 봐야겠다.)
처음에는 되게 간단하게 생각했는데 나는 ... 리스트에서 랜덤으로 뽑아내는 메소드를 전혀 모르고 있었다! 그래서 겸사겸사 배웠던 메소드도 함께 정리하려고 한다.
파이썬에서는 random 관련 함수들을 사용할 수 있도록 random 모듈을 내장하고 있다.
random 함수들을 사용하기 위해서는 먼저 random 모듈을 import 해주어야한다.
import random #랜덤 모듈 import
>>> random.randint(1,100) #1이상 100이하의 정수를 난수로 생성
28 # 실행시 랜덤으로 출력됨
>>> random.randrange(0,11,2) #0부터 10까지 2의 배수가 랜덤으로 생성
6 # 실행시 랜덤으로 출력됨
# 공통
>>> import random
# 랜덤 메뉴들
>>> rice_menu = ["김치볶음밥", "뼈 해장국", "콩나물 국밥", "비빔밥", "계란볶음밥"]
>>> random.shuffle(rice_menu)
>>> print(rice_menu)
['콩나물 국밥', '뼈 해장국', '계란볶음밥', '김치볶음밥', '비빔밥'] # 실행시 순서가 랜덤으로 바뀌어서 출력
# 공통
>>> import random
>>> rice_menu = ["김치볶음밥", "뼈 해장국", "콩나물 국밥", "비빔밥", "계란볶음밥"]
>>> rice_out = random.choice(rice_menu)
>>> print(rice_out)
계란볶음밥 # 실행시 랜덤으로 출력됨
중복을 허용 ⭕️, 하나가 아닌 원하는 만큼 랜덤으로 추출하고 싶다면 + for 문을 같이 활용한다.
추출하고자 하는 숫자가 리스트의 인덱스보다 많아도 오류 발생 ❌ - 중복으로 출력됨
# 공통
>>> import random
# 랜덤 메뉴들
>>> rice_menu = ["김치볶음밥", "뼈 해장국", "콩나물 국밥", "비빔밥", "계란볶음밥"]
>>> rice_out = [random.choice(rice_menu) for i in range(7)]
>>> print(rice_out)
['김치볶음밥', '비빔밥', '계란볶음밥', '비빔밥', '뼈 해장국', '계란볶음밥', '비빔밥'] # 실행시 랜덤으로 출력됨
# 공통
>>> import random
# 랜덤 메뉴들
>>> rice_menu = ["김치볶음밥", "뼈 해장국", "콩나물 국밥", "비빔밥", "계란볶음밥"]
>>> rice_out = random.sample(rice_menu,2)
>>> print(rice_out)
['비빔밥', '뼈 해장국']
>>> random.sample(range(1,101),5) #1부터 100까지의 숫자 랜덤으로 5개
[53, 2, 19, 56, 90]