|
import streamlit as st
|
|
|
|
def calculate_bmi(weight, height):
|
|
|
|
bmi = weight / (height ** 2)
|
|
|
|
return bmi
|
|
|
|
def is_number(text):
|
|
try:
|
|
|
|
float(text)
|
|
return True
|
|
except ValueError:
|
|
|
|
return False
|
|
|
|
|
|
|
|
if "question_no" not in st.session_state:
|
|
st.session_state.question_no = 1
|
|
|
|
st.title(f"{st.session_state.question_no}Know your diabetic status")
|
|
if st.session_state.question_no == 1:
|
|
name = st.text_input(f"{st.session_state.question_no}What is your name?", key=st.session_state.question_no,placeholder="Type your answer here")
|
|
|
|
if st.button("Next->"):
|
|
if name:
|
|
st.session_state.name = name
|
|
else:
|
|
st.session_state.name = "Anonymous user"
|
|
st.session_state.question_no += 1
|
|
|
|
elif st.session_state.question_no == 2:
|
|
age = st.number_input(f"{st.session_state.question_no}How old are you?", key=st.session_state.question_no, placeholder="Type your answer")
|
|
if st.button("Next->"):
|
|
if not is_number(age):
|
|
st.warning("Please enter a valid age")
|
|
else:
|
|
st.session_state.age = int(age)
|
|
st.session_state.question_no += 1
|
|
|
|
elif st.session_state.question_no == 3:
|
|
gender = st.selectbox(f"{st.session_state.question_no}What is your gender?", ["Male", "Female", "Other"], key=st.session_state.question_no)
|
|
if st.button("Next->"):
|
|
st.session_state.gender = gender
|
|
if gender == "Male":
|
|
st.session_state.pregnancies = 0
|
|
st.session_state.question_no += 2
|
|
else:
|
|
st.session_state.question_no += 1
|
|
|
|
elif st.session_state.question_no == 4:
|
|
pregnancies = st.number_input(f"{st.session_state.question_no}How many times have you been pregnant?", key=st.session_state.question_no)
|
|
if st.button("Next->"):
|
|
st.session_state.pregnancies = int(pregnancies)
|
|
st.session_state.question_no += 1
|
|
|
|
elif st.session_state.question_no == 5:
|
|
glucose = st.number_input(f"{st.session_state.question_no}Enter your glucose level", key=st.session_state.question_no)
|
|
if st.button("Next->"):
|
|
st.session_state.glucose = int(glucose)
|
|
st.session_state.question_no += 1
|
|
|
|
|