Найти - Пользователи
Полная версия: CodingBat. Warmup - 1
Начало » Python для новичков » CodingBat. Warmup - 1
1
AlexDreamIsToBeProPythonist
Здравствуйте, уважаемые 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:
Почему мое решение не удовлетворяет, а их да?
Учитывая то,что “сайтодержцы” не проверили ,банально, на входимость указанного индекса в саму строку.
sergeek
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:
что по-твоему делает эта строка?
sergeek
хотя тут наверное парсер квадратные скобки сожрал, заключи код в тег
Singularity
AlexDreamIsToBeProPythonist
я что-то вообще не вижу здесь решения.
def xxx(str,n):
    return str[:n]+str[n+1:]
AlexDreamIsToBeProPythonist
Прошу прощения, видимо, неправильно отобразилось.
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)
Singularity
AlexDreamIsToBeProPythonist
if str in range(1, len(str)):
што ? оно всегда будет ветку else выполнять

 if 0 < n < len(str)-1:
но и его делать не надо, ибо в условии сказано что данные будут корректные
AlexDreamIsToBeProPythonist
Спасибо) Буду знать)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB