def bmi(a, b):
c = a / b
return c
if c < 18.5:
print('저체중')
elif 18.5 <= c <= 22.9:
print('정상')
else:
print('과체중')
bmi(90, 1.81)
여기서 실행시키면 문자열(저체중, 정상, 과체중)으로 안나오고 c값으로만 출력되는 이유가 뭐냐 ㅠㅠ
여기서 실행시키면 문자열(저체중, 정상, 과체중)으로 안나오고 c값으로만 출력되는 이유가 뭐냐 ㅠㅠ
return c를 else문 아래에 넣어라 - dc App
else 아래에 넣었더니 문자열 뜨긴 뜨는데 문자열 뜨고 c값 출력도 같이 뜨는게 정상임? 내 생각에는 return c가 위에 있어서 먼저 출력하고 그다음 if else문 하는 걸로 알고 있었는데 밑에다 뒀더니 문자열 출력되는 이유가 뭐야?
파이썬 인터프리터는 수식 1+1치면 자동으로 계산해서 print(1+1)출력해줌 일단 함수 내부에서 if문에 print문이 수행되고 return c로 받은 결과가 함수호출문으로 전달되니 인터프리터는 결과값 c를 보고 print(c)를 해주는거임 - dc App
게이야 진짜 미안한데 밑댓글에 return c를 print('저체중') 오른쪽 말고 어디를 말한 거임?
if문 안에 print 대신 c='저체중' else if c = ~ 함수 마지막에ㅜreturn c - dc App
아니다 c대신 다른 변수로 해야할듯 대충 result같은거로 - dc App
else 아래에 넣었더니 문자열 뜨긴 뜨는데 문자열 뜨고 c값 출력도 같이 뜨는게 정상임? 내 생각에는 return c가 위에 있어서 먼저 출력하고 그다음 if else문 하는 걸로 알고 있었는데 밑에다 뒀더니 문자열 출력되는 이유가 뭐야?
리턴은 아묻따 함수를 종료시킨다.
아 return이 종료시켜버려서 밑에 있는 게 실행 자체가 안된 거구나 ㄳㄳㄳㄳㄳ너무 고맙다
저기서 그럼 반환값을 c 빼고 문자열만 반환하려면 어케 해야돼?
if ~~ c = '저체중' return c하면 문자열만 반환 - dc App
그냥.. 팁인데.. bmi 함수에 문자을 출력하지 말고 다른 리턴한쪽에서 하게해. - dc App