Написание простой программы, которая удаляет пунктуацию из номера телефона и возвращает только цифры в строке:
number = Phone("(223) 456-7890")
print(number.number)
---> должно возвращать «2234567890»
Приведенный ниже код делает это, когда к вызову добавляется '()', в противном случае выдается ошибка Связанного метода (понятно).
Проблема в том, что набор тестов хочет, чтобы он возвратился на number.number
(без символов)
Проверял документы на этот и различные ответы SO и попытался self.number = ""
в методе init,затем пытаюсь загрузить эту переменную с моими результатами и вернуть ее, но это, похоже, ничего не делает. Любая помощь будет оценена thx
class Phone (object):
def __init__(self, phone_number):
self.phone_number = phone_number
#self.number = ""
def number(self):
punctuation = ['\'', '+', '(', ')', '-', '.',',',' ']
cpn = list(self.phone_number)
[cpn.remove(item) for item in punctuation if item in cpn]
self.number = ''.join(cpn)
return self.number