Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 2, 2021 23:57:17

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

Создать класс, работающего со строками

Создать класс, работающего со строками. Класс должен содержать следующие поля: массив для хранения строки, его максимальную длину, время создания строки. Фактическая длина строки сохраняется в начале строки. Класс должен предоставлять простые функции для работы с этими структурами: изменение строки, отображение строки, нахождение внутренней строки из строки. Не пойму как сделать(

Офлайн

#2 Фев. 3, 2021 03:36:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9880
Репутация: +  853  -
Профиль   Отправить e-mail  

Создать класс, работающего со строками

DUDOSatacker
Создать класс, работающего со строками. Класс должен содержать следующие поля: массив для хранения строки, его максимальную длину, время создания строки. Фактическая длина строки сохраняется в начале строки.
  
>>> import datetime
>>> 
>>> class String:
...     
...     def __init__(self, seq, maxsize=10):
...         self.seq = list(seq)
...         self.seq.insert(0, len(self.seq))
...         self.maxsize = maxsize
...         self.created = datetime.datetime.now()
...     
...     def __str__(self):
...         return (
...             str(self.seq)
...             + ' max ' + str(self.maxsize)
...             + ' created ' + str(self.created)
...         )
...     
...     __repr__ = __str__
... 
>>> 
>>> s1 = String('abc')
>>> s1
[3, 'a', 'b', 'c'] max 10 created 2021-02-03 12:35:10.865794
>>> 
>>> s2 = String('abcdef')
>>> s2
[6, 'a', 'b', 'c', 'd', 'e', 'f'] max 10 created 2021-02-03 12:35:20.355043
>>>

DUDOSatacker
Класс должен предоставлять простые функции для работы с этими структурами: изменение строки, отображение строки, нахождение внутренней строки из строки.
Дальше добавляешь методы, которые меняют список и размер через self.seq .



Отредактировано py.user.next (Фев. 3, 2021 03:37:02)

Офлайн

#3 Фев. 3, 2021 10:56:21

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

Создать класс, работающего со строками

py.user.next
 import datetime
class String:
    
    def __init__(self, seq, maxsize=10):
        self.seq = list(seq)
        self.seq.insert(0, len(self.seq))
        self.maxsize = maxsize
        self.created = datetime.datetime.now()
        self.insert = self.seq.insert(1, 'n')
    def __str__(self):
        return ('Измененная строка:' + str(self.insert)
            + str(self.seq)
            + ' Максимальная длина: ' + str(self.maxsize)
            + ' Время создания строки: ' + str(self.created)
        )
    __repr__ = __str__
s1 = String('abc')
print(s1)
s2 = String('abcdef')
print(s2)
s3 = String('abcdefgh')
print(s3)
что я делаю не так?

Офлайн

#4 Фев. 3, 2021 11:07:01

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Создать класс, работающего со строками

DUDOSatacker
что я делаю не так?
а в чем проблемы? код работает выводит то что задуманно

Офлайн

#5 Фев. 3, 2021 11:35:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9880
Репутация: +  853  -
Профиль   Отправить e-mail  

Создать класс, работающего со строками

DUDOSatacker
что я делаю не так?
Не трогай метод __init__(), я его написал уже полностью. Не трогай метод __str__(), я его написал уже полностью. Добавляй новые методы.



Отредактировано py.user.next (Фев. 3, 2021 11:36:41)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version