2015-10-22 2 views
0

Продолжая мой последний вопрос (что, кстати, спасибо за помощь!), Я застрял в том, как добавить дефис, чтобы отделить мою строку. Вот то, что я до сих пор:Добавление Hyphen в сращиваемую строку

original = "1234567890" 
def fixPhoneNum(original): 
    original = list(original) 
    original[0], original[9] = original[9], original[0] 
    original[1:5], original[5:8] = original[5:8], original[1:5] 
    original = ''.join(original) 
    original = print(original[0:3], end="-"), print(original[3:7], end="-"), print(original[5:9]) 
    return 

Редактировать приведенный выше код не дает мне результат я ищу

Так в основном, я взял исходную строку цифр, переключился первый и последние и промежуточные значения друг с другом. Теперь я хочу отделить первые 3 цифры, следующие 3 цифры дефисом.

Любая помощь? Это сводит меня с ума.

Спасибо!

+1

Каков ожидаемый результат, '«956-782-3451»'? Всегда ли строка длиной 10? –

+0

Да. Ожидаемый результат: 067-862-3451: я исправил проблему, добавив - пока он все еще является списком и перед тем как присоединить его к резервному копированию (используя .insert) –

ответ

0

Я не совсем понимаю правило для заказа персонажа в вашем вопросе.

Вот более простой пример функции str.format, которая принимает «0123» и производит перестановку «30-21» с дефисом. Надеюсь, он ответит на вопрос.

instr = "0123" 
outstr = '{0[3]}{0[0]}-{0[2]}{0[1]}'.format(instr) 

Если вы не знакомы с форматом строки, начните с примерами в документации: https://docs.python.org/3/library/string.html#formatexamples