Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 5, 2013 21:53:35

AlexDreamIsToBeProPythonist
Зарегистрирован: 2013-11-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

Здравствуйте, уважаемые 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:
Почему мое решение не удовлетворяет, а их да?
Учитывая то,что “сайтодержцы” не проверили ,банально, на входимость указанного индекса в саму строку.

Офлайн

#2 Ноя. 6, 2013 07:57:52

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

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:
что по-твоему делает эта строка?

Офлайн

#3 Ноя. 6, 2013 08:02:58

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

хотя тут наверное парсер квадратные скобки сожрал, заключи код в тег

Офлайн

#4 Ноя. 6, 2013 08:30:33

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

AlexDreamIsToBeProPythonist
я что-то вообще не вижу здесь решения.

def xxx(str,n):
    return str[:n]+str[n+1:]

Офлайн

#5 Ноя. 6, 2013 14:06:29

AlexDreamIsToBeProPythonist
Зарегистрирован: 2013-11-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

Прошу прощения, видимо, неправильно отобразилось.

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)

Офлайн

#6 Ноя. 6, 2013 14:41:35

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

AlexDreamIsToBeProPythonist
if str in range(1, len(str)):
што ? оно всегда будет ветку else выполнять

 if 0 < n < len(str)-1:
но и его делать не надо, ибо в условии сказано что данные будут корректные

Офлайн

#7 Ноя. 6, 2013 15:28:35

AlexDreamIsToBeProPythonist
Зарегистрирован: 2013-11-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

CodingBat. Warmup - 1

Спасибо) Буду знать)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version