2016-03-19 4 views
-1

Как я могу сделать так, чтобы обе строки правильно сравнивались? Итак, есть выход, если строка Answers содержит 'N'?Поиск вхождения «Y» или «N» в строке

def stringSearcher():    #Seperates and returns 2 strings from .txt file 
    f = open("QuestionTree.txt", "r") 
    currentLine = f.readline() 
    for line in f: 
     if Answer in line: 
      yesnos, answerOrQuestion = line.split(',') 
      return answerOrQuestion, yesnos 

while True: 

    Answer = raw_input("Y or N: ")    #User input 
    answerOrQuestion, yesnos = stringSearcher() #allows usage of Return variables 

    if yesnos == Answer:  #Will compare the 'Y' in string but not 
     print answerOrQuestion 

Это то, что результат выглядит:


Y or N: N #Not print the N in the text file 
Y or N: Y 
In the Towers? 

Y or N: YN 
Y or N: YY 
Old Tower? 

Y or N: YYY 
7 floors tall? 

Y or N: ^CTraceback (most recent call last): 
    File "TestCode.py", line 11, in <module> 
    Answer = raw_input("Y or N: ") 

Это то, что текстовый файл выглядит следующим образом:


, действительно ли этообщежития? Y, В Башнях? YY, Старая башня? ГГГ, 7 этажей? ГГГГ, это Кэри? YYYYY, Carey Hall YYYYN, Troutman Hall YYYN, Is Wheeler? N, к западу от миссии? NY, S из Broomfield? NYY, КМУ Владеет? NYYY, Kewadin NYYN, B-Ball Court? NYYNY, это Лексингтон?

+1

Что такое ваш вопрос? – anthropomorphic

+0

Когда я запускаю свою программу выполнения, она будет выдавать только вывод для «Y». –

+1

Да, но каков ваш вопрос? – anthropomorphic

ответ

1

изменение

def stringSearcher(): 

в

def stringSearcher(Answer): 
+0

Это не сработало ... TypeError: string Searcher() принимает ровно 1 аргумент (0 задан) –

+0

также меняет stringSearcher() на stringSearcher (Ответ) в цикле while. – Yunhe

+0

Изменения не изменили вывод для строки, включая «N», как бы это исправить? –

0
import re 

def stringSearcher(Answer): 
    f = open("QuestionTree.txt", "r") 
    currentLine = f.readline() 
    for line in f: 
     if re.match(Answer, line): 
      yesnos, answerOrQuestion = line.split(',') 
      return answerOrQuestion, yesnos 

while True: 

    Answer = raw_input("Y or N: ") 
    answerOrQuestion, yesnos = stringSearcher(Answer) 

    if Answer == yesnos:  #Will compare the 'Y' in string but not 
     print answerOrQuestion 
Смежные вопросы