Привет, коллеги-укладчики,
Я столкнулся с проблемой, которую, надеюсь, вы поможете решить.
Я написал два фрагмента кода, которые хочу объединить.Основываясь на вводе числовой строки, я хочу перебирать каждый символ в строке.Символы анализируются условным оператором и преобразуются в другой символ, например, числа, преобразованные в буквы, по сути, я пытаюсь создать кодировщик.Кроме того, мне нужна гибкость для кодирования чисел различными символами, например, от нуля до A или B, и я хочу сравнить выходные списки, чтобы я мог переставлять каждую возможную комбинацию.
Пример:
Ввод 01 - от 0 до A * - от 0 до B * - от 1 до * C
Выходы AC BC
Я уже пробовал несколько комбинаций и думаю, что я слишком усложняювещи.
Это первое приложение выполняет итерации по списку слов и, если в операторе содержатся числа.Номера, которые не имеют значения, "упакованы" звездочкой для использования на следующем этапе обработки.
import re
wordlist = ["012"]
for i in range(0, 2):
if i == 0:
dictionary = ['A', 'B']
for symbol in dictionary:
for x in range(0, 1):
zero = re.sub("0", symbol, wordlist[x])
zero = re.sub("[1-9]", "*", zero)
wordlist.append(zero)
elif i == 1:
dictionary = ['C']
for symbol in dictionary:
one = re.sub("1", symbol, wordlist[x])
one = re.sub("[02-9]", "*", one)
wordlist.append(one)
del wordlist[0]
print(wordlist)
Второе приложение объединяет два слова вместе:
wordone = "A****"
wordtwo = "*B***"
# wordthree = "**C**"
union = []
for charA, charB in zip(wordone, wordtwo):
enumerate(charA)
asciicharA = ord(charA)
enumerate(charB)
asciicharB = ord(charB)
if (asciicharA ^ asciicharB != 0):
if (chr(asciicharA) == "*"):
union.append(chr(asciicharB))
elif (chr(asciicharB) == "*"):
union.append(chr(asciicharA))
elif (charA and charB == "*"):
union.append(charA or charB)
print(union)
Кажется, я не могу понять, как объединить два приложения вместе.Я считаю, что мне нужно создать выходные данные первого приложения в отдельных строках для последующей обработки во втором приложении, однако я думаю, что может быть гораздо более эффективный способ получения необходимых мне результатов.
Более того, я считаю, что в «библиотеке itertools» есть функция перестановки, которой я могу воспользоваться для получения результатов, которые мне нужны во втором приложении.