#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목[re]reverseString2018-09-30 08:14
작성자

1: def reverseString(s):

2:    return (s[4]+s[3]+s[2]+s[1]+s[0])

3: print(reverseString(hello))


3에서 print 함수를 호출하는데, 결과로 보여줄 내용을 reverseString() 함수의 return 값으로 하라고 했습니다.

그리곤 reverseString()함수의 입력 파라메타로 hello라는 이름의 “”변수””를 주었네요.

앗,, 그런데 그런 변수를 본인이 만든적이 없어요!!!! 

이런~!!

하고자 하는 의도가 예제처럼 ‘hello’라는 문자열을 주고 ‘olleh’를 출력하고자 함이면,

3번줄을 print(reverseString(‘hello’)) 해야지요.

호출에서 문제가 있으니, 1과 2줄은 제대로 동작을 해보지도 못한 것이지요.


1: def reverseString(s):

2:    s=input()

3:    return (s[4]+s[3]+s[2]+s[1]+s[0])

4: print(reverseString(input))


4에서 마찬가지로 실수를 범했습니다.

input이라는 변수를 본인이 만든적이 없지요.

그런데 프로그램이 정상적으로 동작한 것처럼 보이지요?

아닙니다.

이 경우 input은 python의 built-in 함수로서, 4에서의 reverseString(input) reverseString() 함수에 표준 함수인 input()을 준 셈으로 보입니다.

희안한 호출인데 python이 에러를 내지 않네요.

아무튼 이것과 상관없이 2에서 입력을 새로 받고,

3에서 뒤집어진 결과를 돌려주니 문제가 없는 것처럼 동작한거지요.


결론적으로 단순 에러입니다. 

함수의 입력 파라메타로 ‘본인이 만든 의도’대로, 문자열을 입력파라메타로 주세요.


결국 본인이 그렇게 만든거였습니다. ^^

 
댓글
이전reverseString2018-09-29
다음주피터노트북 실행2018-09-29