0
내가 파이썬 반환 없음/
파이썬
에서 프로그램 1 이진 검색을 사용하여 검색하기위한 두 개의 프로그램이 있습니다def bin(alist,x):
if len(alist)==0:
return False
else:
mid=len(alist)//2
if (alist[mid]==x):
return True
else:
if alist[mid] < x:
#print(alist[mid+1:],x)
bin(alist[mid+1:],x)
else:
#print(alist[:mid],x)
bin(alist[:mid],x)
print (bin([2,3,5,8,9],8))
print (bin([2,3,5,8,9],7))
프로그램 출력 :
None
None
프로그램 2 :
def bin(alist,x):
if len(alist)==0:
return False
else:
mid=len(alist)//2
if (alist[mid]==x):
return True
else:
if alist[mid]<x:
return bin(alist[mid+1:],x)
else:
return bin(alist[:mid],x)
print(bin([1,5,7,8,9],10))
print(bin([1,4,5,8,9],8))
프로그램 출력 :
False
True
왜 그렇습니까? 명시 적으로 말을하기 때문에 프로그램 1에서
나는 며칠 전에 같은 질문에 답했다! 동일한 교과서에서 온 것이어야합니다! – d9ngle
프로그램에'return'이 있습니다. – haifzhan
'return'은 호출 스택의 한 레벨 위로 값만 리턴합니다. 값을 여러 함수 호출로 보내려면 각 함수가 값을 명시 적으로 '반환'해야합니다. – user2357112