2013-09-16 5 views
-3
def search_linear(x,y): 
    n = len(x) 
    for i in range(n): 

    if theValue[i] == y: 
     return True 

    return false 

def main(): 
    mainValues =int(input("enter the nos first")) 
    mV = mainValues.list() 

    trgt =int(input('enter a single number to be found in the list')) 
    def search_linear(mainValues, trgt) 

이것은 내가 작성한 간단한 선형 검색 프로그램입니다. 실행하면 trgt = ...을 가리키는 17 행의 invalid syntax이라고 표시됩니다. 어디서 잘못 될지 이해할 수 없습니다.파이썬에서의 선형 검색

검색 기능을 쓰고 주요 기능에 값을 할당합니다. 이러한 간단한 프로그램

+0

def를 사용하지 않고 구문 공백이 있는지 확인하십시오. 'return false'는 for 루프가 시작되는 곳에 들여 쓰기되어야합니다. (여기 또는 실제 프로그램에서 복사 할 때 오류가 발생했는지 여부는 알 수 없음) – Ross

+0

게시 오류입니다. 그렇지 않으면 'SyntaxError :'함수 외부에서 'return'이라고 표시했습니다. –

+0

false는 False로 작성되어야합니다. Var theValue는 search_linear 함수에서 알 수 없습니다. mainValues.list() 'int'객체에 'list'속성이 없습니다 ... 마지막 def에서 제거 search_linear (mainValues, trgt). 마치 무슨 일이 일어나고 있는지 이해하지 않고 복사하여 붙여 넣는 것처럼 보입니다. –

답변

3

함수를 호출 할 때는 def이 필요하지 않습니다. 그냥 search_linear(mainValues, trgt)을 사용하십시오.

def정의 기능을 지정하는 경우에만 필요합니다.

-1
def LinearSearch(array, targetNumber): 
    for i in range (0,5): 
     array[i] == targetNumber: 
      print("The number %d does exist in the list." %(targetNumber)) 
     array[i] != targetNumber: 
      print("The number %d does not exist in the list." %(targetNumber)) 

import random 
random_number = [] 
for l in range (0,5): 
    random_number.append(random.randint(1,100)) 

# Algorithm Sort 
for i in range(0, 5): 
     for j in range (5-1, -1, -1): 
      if random_number[j] < random_number[j-1]: 
       new_value = random_number[j-1] 
       random_number[j-1] = random_number[j] 
       random_number[j] = new_value 
      if j == 1: 
       break 
0
#Tried my hand at a code by using simple keywords, no functions etc. Ideal for beginners. 
ls=[] 
n=input("Enter the number of elements in the list:") 
k=n-1 
for i in range(0,n,1): 
    b=raw_input("Enter the elements:") 
    ls.append(b) 
print ls 
element_to_be_searched=raw_input("Enter the element to be searched:") 
for j in range(0,k,1): 
    if ls[j]==element_to_be_searched: 
     if j+1==1: 
      print "Search is successful and requested element is the 1st element" 
      break 
     elif j+1==2: 
      print "Search is successful and requested element is the 2nd element" 
      break 
     elif j+1==3: 
      print "Search is successful and requested element is the 3rd element" 
      break 
     elif j+1>3: 
      print "Search is successful and requested element is the ",j+1,"th element" 
      break 
else: 
    print "Sorry,could not find the item you are looking for!" 

는 희망이 도움이!