Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

돌맹이

[Python] BMI 계산기 (with. streamlit) 본문

programming/Python

[Python] BMI 계산기 (with. streamlit)

오택 2023. 1. 26. 12:34

python에서 streamlit 라이브러리를 이용하여 BMI 계산기를 만들어 보았다

venv 가상환경에서 작동시켰더니 다음과 같이 작동하였다

# -*- coding: utf-8 -*-
# BMI 계산기 만들기
import streamlit as st

def main():
    # 제목
    st.title('BMI 계산기')

    # 몸무게 입력
    weight = st.number_input('몸무게 입력 (kg)', step=1, value=65)
    (" ")
    (" ")

    # 단위 선택
    h_format = st.radio('키 입력 단위를 설정하세요', ('cm', 'feet'))
    (" ")
    (" ")

    # 단위별 BMI 계산기 입력
    if (h_format=='cm'):
        height = st.number_input('키 입력 (cm)', step=1, value=170)
        try:
            result=(weight*10000)/(height*height)
        except:
            pass    
    elif (h_format=='feet'):
        height = st.number_input('키 입력 (feet)', step=0.1, value=5.5)
        try:
            result=(weight*10.764)/(height*height)
        except:
            st.text('숫자를 입력해주세요')
    else:
        st.text('오류발생!!')


    if (st.button('BMI 계산하기')):
        if (height==0 or weight==0):
            st.error('키 또는 몸무게를 입력하세요')
        else:
            if (result>25):
               st.warning(f'BMI = {round(result, 2)}, 비만입니다')

            elif (result<18):
                st.error(f'BMI = {round(result, 2)}, 저체중입니다')
            else:
                st.info(f'BMI = {round(result, 2)}, 정상체중입니다')
    
if __name__ == "__main__":
    main()

 

'programming > Python' 카테고리의 다른 글

[Python] Pandas  (0) 2022.12.29
[Python] NumPy(넘파이)  (0) 2022.12.28
[Python] Docstring(문서화)  (0) 2022.12.27
[Python] 문자열 포매팅(String Formatting)  (0) 2022.12.27