Форум сайта python.su
0
Здравствуйте, уважаемые Pythonists!
Хотел бы задать вопрос, который меня волнует.
Задания взята с сайта CodingBat. далее код:
Условие: Given a non-empty string and an int n, return a new string where the char at index n has been removed. The value of n will be a valid index of a char in the original string (i.e. n will be in the range 0..len(str)-1 inclusive).
1) Мое решение:
def missing_char(str, n):
if str in str:
return (str + str)
else:
return “You have a mistake, dude! Or you are an idiot)”
2) решение администраторов сайта:
def missing_char(str, n):
front = str
back = str
return front + back
3) Question:
Почему мое решение не удовлетворяет, а их да?
Учитывая то,что “сайтодержцы” не проверили ,банально, на входимость указанного индекса в саму строку.
Офлайн
43
AlexDreamIsToBeProPythonistкак ты это перевел?
iven a non-empty string and an int n, return a new string where the char at index n has been removed
if str in str:
Офлайн
43
хотя тут наверное парсер квадратные скобки сожрал, заключи код в тег
Офлайн
75
AlexDreamIsToBeProPythonist
я что-то вообще не вижу здесь решения.
def xxx(str,n): return str[:n]+str[n+1:]
Офлайн
0
Прошу прощения, видимо, неправильно отобразилось.
def missing_char(str, n): if str[n] in range(1, len(str)): return (str[:n] + str[n+1:]) else: return “You have a mistake, dude! Or you are an idiot)”
Офлайн
75
AlexDreamIsToBeProPythonistшто ? оно всегда будет ветку else выполнять
if str in range(1, len(str)):
if 0 < n < len(str)-1:
Офлайн
0
Спасибо) Буду знать)
Офлайн