Files
Source/WATSONX/app7.py
T
2026-05-26 22:08:02 +09:00

49 lines
1.7 KiB
Python

import gradio as gr # 1. 'gr' 정의 (NameError 해결)
# 응원 함수
def cheer(name, level):
return f"{name} 화이팅! " + "🥳" * int(level)
# 별점 함수
def review(name, grade):
return f"{name} " + "" * int(grade)
# BMI 함수
def bmi_calculator(height, weight):
if not height or not weight: # 입력값이 없을 때 방어
return "키와 몸무게를 모두 입력해주세요."
bmi = weight / ((height / 100) ** 2)
if bmi < 18.5: result = "저체중"
elif bmi < 22.9: result = "정상체중"
elif bmi < 24.9: result = "과체중"
else: result = "비만"
return f"결과: {result} (BMI: {bmi:.2f})"
# 인터페이스 구성
with gr.Blocks() as demo:
gr.Markdown("# 통합 도구 모음")
with gr.Tab("응원"):
c_name = gr.Textbox(label="이름")
c_level = gr.Slider(1, 5, step=1, label="응원강도")
c_out = gr.Textbox(label="결과")
gr.Button("보내기").click(fn=cheer, inputs=[c_name, c_level], outputs=c_out)
with gr.Tab("별점"):
r_name = gr.Textbox(label="음식명")
r_grade = gr.Slider(1, 5, step=1, label="만족도")
r_out = gr.Textbox(label="리뷰 결과")
# 2. 여기서 inputs에 r_name과 r_grade 두 개를 정확히 넣어줘야 합니다!
gr.Button("등록").click(fn=review, inputs=[r_name, r_grade], outputs=r_out)
with gr.Tab("BMI"):
h = gr.Number(label="키(cm)")
w = gr.Number(label="몸무게(kg)")
b_out = gr.Textbox(label="판정 결과")
gr.Button("계산").click(fn=bmi_calculator, inputs=[h, w], outputs=b_out)
# 3. 마지막에 괄호()를 붙여서 실행
demo.launch()