Есть ли в любом случае объединить строки 5-7 в одну линию или сделать ее короче в целом? - PullRequest
0 голосов
/ 06 декабря 2018

Я работаю над проектом для своего класса CS, и мне было интересно, есть ли способ сделать следующий код более коротким или более эффективным:

data_numb = str(input("Input Data, then press enter: "))
phone_numb = int(''.join(list(filter(str.isdigit, data_numb))))
phone_numb2 = str(phone_numb)
list1 = list(phone_numb2)
list1.insert(0, "(")
list1.insert(4, ") ")
list1.insert(8, "-")
print("".join(list1))

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Вы можете сделать

data_numb = input("Input Data, then press enter: ")
p = ''.join(list(filter(str.isdigit, data_numb)))
res = '('+p[:3]+') '+p[3:6]+'-'+p[6:]
print(res)

, вставив вручную.

0 голосов
/ 06 декабря 2018

Вы можете объединить подстроки, чтобы сократить код:

print('(' + phone_numb2[:3] + ') ' + phone_numb2[3:6] + '-' + phone_numb2[6:])

Или с f-строками (Python 3.6 или выше):

print(f'({phone_numb2[:3]}) {phone_numb2[3:6]}-{phone_numb2[6:]}')

, которые я считаю более подходящими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...