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='')

ただし、これにより、すべての文字の前にそのテキストが表示されます。

できれば助けてください。説明も望ましいでしょう。

御時間ありがとうございます。

ベン

4

3 に答える 3

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)

あなたがしようとしていたことの問題は、単語ごとではなく文字ごとに「復号化:」メッセージを出力することです。そのため、印刷する前に単語を作成する必要があります。

于 2013-04-26T08:03:29.563 に答える
1

出力を文字ごとに印刷しているため、追加print("Decryption"+output,end='')すると、各印刷出力に「復号化」部分が追加されるだけです。次のことをお勧めします:

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

forループを開始する前に。

于 2013-04-26T08:04:38.997 に答える