2016-12-27 2 views
-1

Я писал сценарий в Python для создания списков слов грубой силы. Я уже могу сцепить только строки, но я не могу сцепить несколько случайных чисел в финале каждого слова в списке, потому что он говорит, что я не могу сцепить Обл и ИНТ объекты ...Не удается объединить строку с целым числом

Код:

wList = [] 

words = raw_input("[+]Insert the words that you wish: ") 
outputFile = raw_input("[+]Insert the path to save the file: ") 

wordList = words.split(",") 

for x in wordList: 
    for y in wordList: 
     wList.append(x + y) 
     wList.append(y + x) 
     wList.append(x + "-" + y) 
     wList.append(y + "-" + x) 
     wList.append(x + "_" + y) 
     wList.append(y + "_" + x) 
     wList.append(x + "@" + y) 
     wList.append(y + "@" + x) 


for num in wordList: 
    for num2 in wordList: 
     for salt in range(1,10): 
      wList.append(num + num2 + int(salt)) 
      wList.append(num2 + num + int(salt)) 
+1

https://docs.python.org/3/library/functions.html#func-str – wwii

ответ

0

Вы можете связать только string с другим string в Python.

Изменить две последние строки в поле ниже:

wList.append(num + num2 + str(salt)) 
wList.append(num2 + num + str(salt)) 
+0

Это работает! Это было абсолютно просто решить, но я нахожусь на Python .. Спасибо –

1

В питона оператор + после того, как sequence вызовы concat с sequence перед оператором и то, что после оператора. В python string - sequence. Функция concat работает только с двумя последовательностями одного типа, то есть с двумя строками или двумя массивами. В вашем коде используется этот оператор для string и int.

Вам необходимо изменить все места, в которых вы объединяете строки с помощью ints. Вот два возможных способа сделать это.

Вы можете сделать все ints в строки. Например:

wList.append(str(x) + "-" + str(y)) 

Или вы можете использовать% -формацию. Например:

wList.append("%d-%d"%(x, y)) 
Смежные вопросы