2015-02-14 4 views
1

Прежде всего, я набираю интенсивность, назначенную идентификатору клиента из текстового файла, как только у меня есть такая интенсивность, я сохраняю его как clientIntensityResult, а затем в зависимости от того, он равен Высокому или Умеренному, он должен распечатать соответствующий список, но мое сравнение в выражении if, похоже, не работает? Я изменил его на x = 1, если x == 1: и это работает, но есть что-то, чего мне не хватает в этом сравнении строк?Сравнение строк в Python, похоже, не работает

def clientSelect(): 
    clientIntensity = open("clientIntensity.txt", "r") #opens file 

    high = ["Running", "Swimming", "Aerobics", "Football", "Tennis"] 
    moderate = ["Walking", "Hiking", "Cleaning", "Skateboarding", "Basketball"] 

    searchId = input("Please enter a clientID (ffsss): ") #search string 

    for line in clientIntensity: 
     if re.match(searchId, line): 
      clientIntensityResult = (line[6:]) 
      print ("Client intensity is: ", clientIntensityResult) 

      if clientIntensityResult == "High": 
       print (high) 
      elif clientIntensityResult == "Moderate": 
       print (moderate) 
      else: 
       print ("Nothing found") 
+0

NeQua, High ImKol, Умеренный YoTri, Умеренный Роден, High NaThe, Умеренный ReWes, Умеренный BrFre, High KaDat, High ViRil, High TrGeo, High – LangdonBrock

ответ

2

Вы определили переменную, как

clientIntensityResult = (line[6:]) 

Поскольку вы переборе построчно, каждая строка будет иметь '\n' на конце. Вы можете сделать

clientIntensityResult = line.strip()[6:] 

Тогда остальное должно работать.

+0

Спасибо, это ответ Я искал! Я даже посмотрел на тип, и он вернулся как str, и поэтому больше не думал о том, чтобы понять, что существует \ n рендеринг сравнения false – LangdonBrock

Смежные вопросы