2017-10-25 1 views
0

빠른 질문, 저는 최근에 함수에 대해 배웠습니다. 하지만 인쇄 옵션에 대해서는 조금 불안합니다. 무슨 결과를 인쇄하려면 좋은 코드에 대한 더 나은 옵션 : printoption을 함수에 통합하거나 함수를 인쇄하려면?파이썬 함수 - 깨끗한 코드

옵션 1 :

def is_number_in_string(string, number): 
    if str(number) in string: 
    return True 
    else: 
    return False 

print(def is_number_in_string(string, number) 

옵션 2는 :

def is_number_in_string(string, number): 
    if str(number) in string: 
    return print("True") 
    else: 
    return print("False") 

def is_number_in_string(string, number) 

는 당신의 도움을 주셔서 감사합니다!

+2

는 참고로, 당신은'def' 부분이 포함되어 있지 않습니다. – DavidG

+1

나는 그것이 의견을 기반으로 생각합니다. 개인적으로, 나는 옵션 1을 선호한다. 당신의 함수 이름이 질문이기 때문에, (옵션 1에서와 같이) 부울 값을 반환하는 것이 자연스러운 것이지, 문자열 (옵션 2)이 아니다. – John

+0

구문이 잘못되었지만 첫 번째 경우에'def is_number_in_string (string, number) : 문자열에서 str (number)를 반환하고'print (is_number_in_string (string, number)) '함수를 호출하십시오. –

답변

1

아래처럼 함수를 호출해야 당신은 기능을 정의하므로 옵션 2는하지 않습니다. 또한 함수 앞에 def를 붙여서 함수를 호출하지 않습니다. 즉, 함수를 정의하는 방법이므로 Option 1이나 Option 2도 작동하지 않습니다.

이 경우, 기본 방법은 아마도 다음과 같습니다 함수를 호출 할 때

def is_number_in_string(string, number): 
    return str(number) in string 

print(is_number_in_string("myString84", 84)) 
+0

또한 전체 내용이'print (str (string) in string)'로 표시 될 수 있지만 정의에 대한 질문 이었기 때문에 대답에서 생략했습니다. –

0

함수 print는 None을 반환하므로 True 또는 False를 직접 반환해야합니다.

0

두 옵션 모두에서 함수를 호출하지 않습니다. 당신은 인쇄를 반환하는 것은 아무 것도 반환하지 않습니다 인쇄로 None를 반환합니다

is_number_in_string('stringarg', numberarg)