2013-12-07 3 views
0
def main(): 
    names=[0]*10 
    for index in range(len(names)): 
     names[index] = input("Enter word " + str(index + 1) + ": ") 
    bubbleSort(names) 
    print("Names in Alphabetical order:") 
    print(names) 
def bubbleSort(names): 
    for maxElement in range(len(names)-1, 0, -1): 
     for index in range(maxElement): 
      if names[index] > names[index+1]: 
       temp = names[index] 
       names[index] = names[index+1] 
       names[index+1] = temp 
    found = False 
    index=0 
    while found == False and index < len(names): 
     Searchword= input('enter a searchword:') 
     if scores[index] == Searchword : 
      found = True 
     else: 
      index = index + 1 
    if found: 
     print("Found") 
    else: 
     print("Not Found") 

main() 

Требуется ли все, чтобы принять, когда введено поисковое слово, которое не может быть найдено, оно не печатает «не найдено», а только запрашивает ввод.python программа не дает желаемого результата

+0

Легче решить такие проблемы, если вы можете определить конкретную проблему с кодом. Какой желаемый результат и какая часть кода вы сейчас работаете? (См. Http://sscce.org/: он предлагает некоторые полезные советы для таких сценариев, как этот.) –

+0

Предполагается, что он найден, если поиск найден в массиве (что он делает), но он не говорит об этом если он не является. Он просто просит ввести данные. – user3000842

+0

Что такое 'счет'? Как в 'if score [index] == Searchword'. 'score' не определен ни в одном из кода, который вы указали. –

ответ

3
  1. Изменение if scores[index] == Searchword: в if names[index] == Searchword :
  2. Место Searchword= input('enter a searchword:') вне цикла while

Это должно выглядеть примерно так:

def main(): 
    names=[0]*10 
    for index in range(len(names)): 
     names[index] = input("Enter word " + str(index + 1) + ": ") 
    bubbleSort(names) 
    print("Names in Alphabetical order:") 
    print(names) 
def bubbleSort(names): 
    for maxElement in range(len(names)-1, 0, -1): 
     for index in range(maxElement): 
      if names[index] > names[index+1]: 
       temp = names[index] 
       names[index] = names[index+1] 
       names[index+1] = temp 
    found = False 
    index=0 
    Searchword= input('enter a searchword:') 
    while found == False and index < len(names): 
     if names[index] == Searchword : 
      found = True 
     else: 
      index = index + 1 
    if found: 
     print("Found") 
    else: 
     print("Not Found") 

main() 
3

может потребоваться ввод до цикла, то есть:

Searchword= input('enter a searchword:')  
while found == False and index < len(names):  
    if scores[index] == Searchword : 
     found = True 
    else: 
     index = index + 1 
Смежные вопросы