return float(입력) 이렇게 입력해도 똑같은 값이 도출됩니다. return True의 의미가 값을 가지고 돌아간다는 의미인데 return True의 쓰임새가 어떤건지 궁금합니다. 지금은 float(입력) 하나만 있지만 위에 모든값을 가지고 리턴하라 이런의미 인가요?
어떤 부분을 의미하는지 살짝 이해하기 힘든데 isfloat() 함수를 만드는 부분을 이야기 하시는 것인가요? (1) isfloat() 함수는 이름처럼 "float인지 확인하는 함수"이므로 True 또는 False 등의 불 값을 들고 리턴하게 만드는 것이 좋습니다. 만약 단순하게 return float(입력)이라고만 구성하면 다른 개발자들이 "왜 숫자 값이 리턴되지?"라고 의아하게 생각할 것입니다. (2) return True는 True를 들고 돌아가라는 의미입니다. 이외의 다른 의미는 전혀 없습니다! (3) 만약 "if 조건문 내부에 넣으면 어차피 불로 변환되니까"라고 생각하시는 경우 매개변수로 0 또는 0.0를 전달했을 때를 생각해보시면 됩니다. float(0)과 float(0.0)은 0.0으로 변환되며 이 값은 False가 됩니다. 따라서 이 경우에는 "float으로 변환할 수 있는 값"인데 False가 나오는 잘못된 상황이 발생합니다! 그래서 본문처럼 return True와 return False를 각각 사용해준 것입니다!
선생님. 5분경에 try except 구문과 pass 키워드를 조합하여 사용하는 것의 목적은 강의의 해당 코드에서 [조건문으로 요소.isdigit() 를 확인해서 숫자로 변경 가능한 요소만 리스트에 append 한다]는 발상을 떠올리는 부담을 최소화하기 위해서인가요? 이 코드의 경우에는 발상이 쉬울 수도 있지만 발상이 어려운 경우가 더 많기 때문에..?
다시 실행시키기 귀찮을때 함술로 만들고 예외시 호출하도록 해보는 것도 좋겠다 생각힙니다. :)
#73_01 P.364
def CircleOfLife():
입력 = input("숫자만을 입력해 주세요(글자 입력시 예외 발생) > ")
if 입력.isdigit():
ConNum = int(입력)
print(f"원의 반지름: {ConNum}")
print(f"원의 둘레: {2 * 3.14 * ConNum}")
print(f"원의 넓이: {3.14 * ConNum * ConNum}")
else:
print("정수를 입력하지 않았습니다. 정수를 입력해 주세요.")
CircleOfLife()
CircleOfLife()
사실 박해선님의 혼공머신을 먼저 공부한건 비밀...😙
2024.09.08
짧지만 강렬한 코드네요.
예외처리가 은근 손이 안갔는데, 자주 써보겠습니다.
감사합니다. ^^
오늘도 감사합니다!
말씀하신 것처럼 6장은 이전 함수를 다룬 5장보다 부담이 조금 덜하기에, 함수를 다룬 5장을 복습하며 같이 들어봐야겠습니다!
안녕하세요. 감사히 잘 봤어요.
전체 영상 마치고 다시 반복해서 기억지속하려 해요.
2023년 7월 24일 월 22시54분 태평양 시간
return float(입력) 이렇게 입력해도 똑같은 값이 도출됩니다. return True의 의미가 값을 가지고 돌아간다는 의미인데 return True의 쓰임새가 어떤건지 궁금합니다. 지금은 float(입력) 하나만 있지만 위에 모든값을 가지고 리턴하라 이런의미 인가요?
어떤 부분을 의미하는지 살짝 이해하기 힘든데
isfloat() 함수를 만드는 부분을 이야기 하시는 것인가요?
(1) isfloat() 함수는 이름처럼 "float인지 확인하는 함수"이므로
True 또는 False 등의 불 값을 들고 리턴하게 만드는 것이 좋습니다.
만약 단순하게 return float(입력)이라고만 구성하면
다른 개발자들이 "왜 숫자 값이 리턴되지?"라고 의아하게 생각할 것입니다.
(2) return True는 True를 들고 돌아가라는 의미입니다.
이외의 다른 의미는 전혀 없습니다!
(3) 만약 "if 조건문 내부에 넣으면 어차피 불로 변환되니까"라고 생각하시는 경우
매개변수로 0 또는 0.0를 전달했을 때를 생각해보시면 됩니다.
float(0)과 float(0.0)은 0.0으로 변환되며
이 값은 False가 됩니다.
따라서 이 경우에는 "float으로 변환할 수 있는 값"인데
False가 나오는 잘못된 상황이 발생합니다!
그래서
본문처럼 return True와 return False를 각각 사용해준 것입니다!
이해하니 대단합니다. 즉 함수에서는 True 값을 축출하고 함수에서 True가 나오면 if가 작동하는 원리가 맞는것이죠? 한참동안 잘못생각하고 있었네요 감사합니다.
@@윤인성
안녕하세요. 감사히 잘 봤어요.
2023년 7월 12일 수 17시32분 태평양 시간
선생님. 5분경에 try except 구문과 pass 키워드를 조합하여 사용하는 것의 목적은 강의의 해당 코드에서 [조건문으로 요소.isdigit() 를 확인해서 숫자로 변경 가능한 요소만 리스트에 append 한다]는 발상을 떠올리는 부담을 최소화하기 위해서인가요?
이 코드의 경우에는 발상이 쉬울 수도 있지만 발상이 어려운 경우가 더 많기 때문에..?
넵 맞습니다!
그리고 발상이 생각보다 어렵습니다(@_@).
"float()으로 변환 가능한 숫자"는
10, 10.0, 1e1, 1e+1, 1.0e+1
처럼 다양한 형태로 올 수 있어서
(정규표현식을 사용하지 않는 한) 조건문과 반복문을 꽤 복잡하게 조합합니다.
감사합니다