имя (?) не определено - PullRequest
0 голосов
/ 20 июня 2019

Я новичок в программировании на Python, использующем PyCharm для отработки функций, но он возвращает ошибку ниже:

имя 'rflag' не определено, но я думаю, что оно определено!вот код:

def searcher(word: str, text: str, num: int = 1):

   global startindex
   global size
   global rflag

   if num == 1 and text.count(word) == 1:
       startindex = text.find(word);
       size = len(word);
       rflag = "word start from " + str(startindex + 1) + " and end in " + 
       str(size + startindex)
   elif num > 1 and text.count(word) <= num:
       startindex = 0
       for i in range(num):
           startindex = text.find(word, startindex)
           size = startindex + len(word)
        rflag = "word start from " + str(startindex + 1) + " and end in " + 
        str(size + startindex)

    return rflag


result = searcher("shahab", "shahabshahabshahab", 2)
print(result)

полное сообщение об ошибке:

C: \ Users \ Shahab \ AppData \ Local \ Programs \ Python\ Python37-32 \ python.exe C: /Users/Shahab/Desktop/searcher.py

Трассировка (последний последний вызов):

Файл "C: / Users / Shahab / Desktop/searcher.py ", строка 21, в результате = искатель (" shahab "," shahabshahabshahab ", 2) Файл" C: /Users/Shahab/Desktop/searcher.py ", строка 18, в поисковике возвращает rflag NameError: name'rflag' не определен

Процесс завершен с кодом выхода 1

отступ: код и изображение отступа

1 Ответ

0 голосов
/ 20 июня 2019

Это решит ошибку.

Вы просто должны были инициализировать rflag перед тем, как выполнить условия, так как это то, что вы возвращаете

def searcher(word, text, num=1):
  rflag = ""
  if num == 1 and text.count(word) == 1:
    startindex = text.find(word);
    size = len(word);
    rflag = "word start from {} and end in {}".format(startindex+1, size+startindex)
  elif num > 1 and text.count(word) <= num:
    startindex = 0
    for i in range(num):
      startindex = text.find(word, startindex)
      size = startindex + len(word)
      rflag = "word start from {} and end in {}".format(startindex+1, size+startindex)
  return rflag
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...