2013-04-26 2 views
1

У меня есть этот код;Добавление к фронту вывода для выписки

offset = -0 
    print ("In Command 3 - Brute force") 
    string = input("Please enter a string to Brute Force:") 
    while offset > -26: 
     offset = offset - 1 
     print("") 
     for letter in string: 
      letter = (ord(letter)) 
      letter = letter + offset 
      if letter > 126: 
       letter - 95 
      elif letter < 32: 
       letter + 32 
      output = (chr(letter)) 
      print(output,end='') 
      choice = 0 

Выход в зависимости от строки что-то вроде этого;

rc`rcr 
qb_qbq 
pa^pap 
o`]o`o 
n_\n_n 
m^[m^m 
l]Zl]l 
k\Yk\k 
j[Xj[j 
iZWiZi 
hYVhYh 
gXUgXg 
fWTfWf 
eVSeVe 
dURdUd 
cTQcTc 
bSPbSb 
aROaRa 
`QN`Q` 
_PM_P_ 
^OL^O^ 
]NK]N] 
\MJ\M\ 
[LI[L[ 
ZKHZKZ 
YJGYJY 

Теперь мне нужен текст перед выходом, например;

Decryption string rc`rcr 
Decryption string qb_qbq 

и т.д ...

Я попытался;

print("Decryption",output,end='') 

и

print("Decryption"+output,end='') 

Однако это дает мне этот текст перед каждой буквы.

Пожалуйста, помогите, если вы можете, и объяснение также будет предпочтительным.

Спасибо за ваше время.

Бен

ответ

2

Вы хотите сделать что-то вроде этого:

offset = -0 
print ("In Command 3 - Brute force") 
string = input("Please enter a string to Brute Force:") 
while offset > -26: 
    offset = offset - 1 
    word = "" 
    for letter in string: 
     letter = (ord(letter)) 
     letter = letter + offset 
     if letter > 126: 
      letter - 95 
     elif letter < 32: 
      letter + 32 
     output = (chr(letter)) 
     word = word + output    
     choice = 0 
    print("Decryption: "+word) 

Проблема с тем, что вы пытаетесь, что она будет печатать «дешифрования:» сообщение для каждого символа не для каждого слова, поэтому вам нужно создать слово перед его печатью.

+0

Ер великого человек, спасибо, я был возиться с чем-то вроде, что я просто не мог получить его обряда, его совершенно очевидно когда я смотрю на него сейчас. еще раз спасибо. – BenniMcBeno

1

Вы печатаете выходную букву буквой, поэтому добавление print("Decryption"+output,end='') просто добавит часть «Расшифровка» к каждой распечатке. Я предлагаю сделать:

прежде чем вы начнете цикл for.

1

Вы должны построить свою выходную строку, а затем распечатать его после того, как цикл

offset = -0 
    print ("In Command 3 - Brute force") 
    string = input("Please enter a string to Brute Force:") 
    while offset > -26: 
     offset = offset - 1 
     output_final = None 
     for letter in string: 
      letter = (ord(letter)) 
      letter = letter + offset 
      if letter > 126: 
       letter - 95 
      elif letter < 32: 
       letter + 32 
      output_final += (chr(letter)) 
      choice = 0 
     print 'Description:', output_final 
Смежные вопросы