@AleksKc

Можно ли объединить две функции в одну?

Есть две функции. Одна из которых вычисляет длину вводимой строки, переводит ее из 10 системы счисления в 2, и добавляет в начало массива. Вторая функция перебирает каждый символ вводимой строки и преобразует из 10 СС в 2, точно также добавляя в массив. Можно ли эти две функции поместить в одну?

def mess_len():
    SLen = len(Message)
    SymTo2Bin = ConvertFromDec(SLen, 10, 2)
    RSLength = len(SymTo2Bin[2:])
    TMessage = ''
    while RSLength < 9:
        TMessage += "0"
        RSLength += 1
    TMessage += SymTo2Bin[2:]
    MMessage.append([TMessage[d:d + 3] for d in range(0, len(TMessage), 3)])
    return MMessage


def mess():
    for sym in Message:
        SymTo2Bin = ConvertFromDec(ord(sym), 10, 2)
        RSLength = len(SymTo2Bin[2:])
        TMessage = ''
        while RSLength < 9:
            TMessage += "0"
            RSLength += 1
        TMessage += SymTo2Bin[2:]
        MMessage.append([TMessage[d:d + 3] for d in range(0, len(TMessage), 3)])
    return MMessage
  • Вопрос задан
  • 1042 просмотра
Решения вопроса 1
@barolina
turn coffee into code
# передача параметра (как вариант) 
def mess_convert(el):
	SymTo2Bin = ConvertFromDec(el, 10, 2)
	RSLength = len(SymTo2Bin[2:])
	TMessage = ''
	while RSLength < 9:
		TMessage += "0"
		RSLength += 1
	TMessage += SymTo2Bin[2:]
	MMessage.append([TMessage[d:d + 3] for d in range(0, len(TMessage), 3)])
	return MMessage

def mess():
	for sym in Message:
		mess_convert(ord(sym)
	mess_convert(len(Message))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Было бы очень легко, если бы они были чистыми, но вы используете глобальные переменные.

P.S. Да ещё и PEP8 нарушаете.
Ответ написан
Комментировать
milssky
@milssky
Координатор племени фиолетовых обезьянок
Можно, без проблем тупо объединить.
Вопрос только, откуда берется переменная Message :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы