본문 바로가기
DASHBOARD APP 개발/Streamlt Library

[python] streamlit 옵션 선택 , if문 활용 출력하기

by 코끼리똥11 2024. 4. 24.

Streamlit에서 옵션 선택을 위해 사용할 수 있는 몇 가지 함수가 있다. 주요 함수 몇 가지를 살펴보겠다.

  1. selectbox: 사용자가 목록에서 하나의 옵션을 선택할 수 있는 드롭다운 상자를 생성합니다.
  2. multiselect: 사용자가 여러 옵션을 선택할 수 있는 다중 선택 상자를 생성합니다.
  3. radio: 사용자가 여러 옵션 중 하나를 선택할 수 있는 라디오 버튼을 생성합니다.
  4. checkbox: 사용자가 옵션을 선택 또는 선택 해제할 수 있는 체크 박스를 생성합니다.

이러한 함수들은 사용자가 선택할 수 있는 옵션을 제공하고, 선택된 옵션에 따라 다른 동작을 수행할 때 유용하게 사용된다.

 

순서 1.

# 스트림릿 라이브러리를 사용하기 위한 임포트
import streamlit as st

# 웹 대시보드 개발 라이브러리인, 스트림릿은
#main 함수가 있어야 한다.
def main():

if __name__ =='__main__':
  main()

다음과 같이 작성하고

터미널에 streamlit run 파일명(app_blog.py) 을 실행해준다.

서버가 생성되는 것을 볼 수 있다.

 

 

2.

def main():
  option=[1,2,3,4]
  

if __name__ =='__main__':
  main()

사용할 옵션을 리스트에 넣어 변수로 지정해준다.

 

def main():
  option=[1,2,3,4]
  st.selectbox('옵션을 선택하세요.',option)


if __name__ =='__main__':
  main()

 

서버에 옵션을 선택하는 selectbox가 생성된 것을 볼 수있다.

 

3.

여기서 서버에서 고른 옵션에 따라 다르게 출력해야하는데 서버에서 고른 옵션이 어떤건지 확인하기위해 print문을 통해 터미널에 출력되게 해서 확인을 해봐야한다.

def main():
  option=[1,2,3,4]
  print(st.selectbox('옵션을 선택하세요.',option))


if __name__ =='__main__':
  main()

 

1을 선택하면

터미널에도 1이 출력된다.  확인했으면 selectbox를 변수로 저장하자.

def main():
  option=[1,2,3,4]
  select=st.selectbox('옵션을 선택하세요.',option)


if __name__ =='__main__':
  main()

 

4.

def main():
  option=[1,2,3,4]
  select=st.selectbox('옵션을 선택하세요.',option)

  if select == option[0]:
    st.text('1번을 선택했습니다.')


if __name__ =='__main__':
  main()

유저가 고른 옵션 =1 이 option의 [0]번, 첫번째 값이랑 같을때, 문자가 출력되는것을 볼 수있다.

 

elif를 사용하여 반복하면 4번까지 할 수 있다,

def main():
    option=[1,2,3,4]
    select=st.selectbox('옵션을 선택하세요.',option)

    if select == option[0]:
        st.text('1번을 선택했습니다.')
    elif select == option[1]:
        st.text('2번을 선택했습니다.')
    elif select == option[2]:
        st.text('3번을 선택했습니다.')
    elif select == option[3]:
        st.text('4번을 선택했습니다.')



if __name__ =='__main__':
  main()