배포 링크 : https://randomlunchrecommend-g2xihrzrbzvcyvhwvuagz4.streamlit.app/
사용 프로그램 : visual studio code(가상환경에서 작업)
1. 앱 설명
- 주제 : 랜덤 점심 추천 웹
- 사용자가 음식 카테고리를 선택하면 그에 맞는 메뉴를 랜덤으로 추천해주는 웹앱
- 핵심 기능
- 음식 종류 선택 : 사용자는 카테고리에서 원하는 것을 선택할 수 있습니다.
- 추천 버튼: 사용자는 버튼을 누르면 해당 카테고리에서 메뉴가 랜덤으로 선택됩니다.
- 동작의 전체 흐름 : 사용자가 메뉴 종류를 고르고 → 버튼을 누르면 → 그 종류에서 하나를 랜덤으로 추천해서 보여주는 앱
┌──────────────────────┐
│ Streamlit 앱 실행 │
└─────────┬────────────┘
↓
┌──────────────────────┐
│ 제목 표시 (st.title) │
└─────────┬────────────┘
↓
┌──────────────────────┐
│ 음식 종류 선택 UI (st.selectbox) │
└─────────┬────────────┘
↓
┌─────────────────────┐
│ 버튼 클릭 대기 (st.button) │
└─────────┬───────────┘
↓
┌─────────────────────────┐
│ 선택된 종류의 메뉴 리스트에서 랜덤 추천 │
│ → random.choice() │
└─────────┬───────────────┘
↓
┌─────────────────────────┐
│ 결과 출력 (st.success 등) │
└─────────────────────────┘
2. 사용한 주요 함수 정리
| 함수명 | 설명 | 예시 |
| import streamlit as st | Streamlit 라이브러리를 불러오는 선언 | - |
| st.title() | 앱 상단에 크게 제목을 표시 | st.title("랜덤점심 추천") |
| st.selectbox() | 사용자에게 선택지 드롭다운을 제공 | category = st.selectbox("종류를 선택", [...]) |
| st.button() | 버튼을 만들고, 눌렀을 때만 조건 실행 | if st.button("추천받기"): |
| st.success() | 초록색 강조 메시지를 출력 (좋은 결과 등) | st.success("오늘은 김치찌개!") |
| st.write() (보조로 사용) | 텍스트, 변수, 리스트 등 일반 출력 | st.write(category) |
| import random | 파이썬 기본 랜덤 라이브러리 | - |
| random.choice() | 리스트에서 무작위로 하나 뽑기 | random.choice(menu_dict[category]) |
3.실행 화면
① 카테고리에서 종류 선택

② 오늘의 점심 추천받기 클릭 -> 추천메뉴

'데이터 분석 > 03. streamlit' 카테고리의 다른 글
| streamlit으로 로그인 페이지 만들기 (2) | 2025.08.11 |
|---|---|
| 두번째 레슨, streamlit 문법 알아보기 (3) | 2025.08.09 |
| 첫번째 레슨, streamlit 실행 및 종료와 argument (3) | 2025.08.09 |
| [Streamlit] BMI계산기 (8) | 2025.08.06 |
