파이썬 초보 entry랑 형변환 관련 질문

조회수 257회

파이썬 초보입니다.. 제가 과제로 프로그램 하나 만들고있는데 body_inf라는 함수 안에서 entry칸에 입력을 받지 않았음에도 코드가 실행되는 문제랑 entry칸에서 받는 변수가 실수형으로 바꾸지 못해서 어려움을 겪고 있습니다. 아직 초보라 많이 미숙하기에 다른 실수나 오류등등 지적해주시면 감사하겠습니다

from tkinter import*
import tkinter 

def body_inf():              #기본정보 입력->평균체중,비만도 확인
    rootb=Tk()
    rootb.title("기본 신체 정보 입력란")
    rootb.geometry("500x500")
    lblb1=Label(rootb, text="당신은 남성입니까? 여성입니까?")
    entb1=Entry(rootb, width=30)
    s=entb1.get()
    if s!="남성"or"여성":   
        lbln=Label(rootb, text="남성 또는 여성으로 입력하세요")
        lbln.pack()

    lblb2=Label(rootb, text="당신의 키는 몇cm입니까?(단위 제외)")
    entb2=Entry(rootb, width=30)
    m=entb2.get()
    lblb3=Label(rootb, text="당신의 몸무게는 몇 kg입니까?(단위 제외)")
    entb3=Entry(rootb, width=30)
    w=entb3.get()
    aw=a_weight(m,s)
    btn=Button(rootb, text="확인",command=a_weight(m,s))




    lblb1.pack()        
    entb1.pack()
    lblb2.pack()
    entb2.pack()
    lblb3.pack()
    entb3.pack()
    btn.pack()
    rootb.mainloop()

def diet_inf():
    x=28#임시

def walk_inf():
    x=28#임시

def a_weight(m,s):                    #평균 체중  함수
    if s=="남성":
        avweight=m*m*22
        return avweight


    elif s=="여성":
        avweight=m*m*21
        return avweight


def obes(w,aw):                #비만도 확인 함수
    try:
        ob_per=(w/aw)*100
        if ob_per>=90 and ob_per<110:
            return 0

    except:
        print("order value is invalid")

root=Tk() 
root.title("당뇨병 환자들을 위한 건강 증진 프로그램")
root.geometry("300x900");
#나중에 이미지 삽입할 예정
btn1=Button(root, text="기본 신체 정보 입력", command=body_inf)
btn2=Button(root, text="적정 식단 추천", command=diet_inf)
btn3=Button(root, text="적정 걷기 운동", command=walk_inf)
btn1.pack()
btn2.pack()
btn3.pack()
root.mainloop()

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)