-3

如何让我的程序在单独的行上打印答案+该行对应的键是什么?

def break_crypt(message):
    for key in range(1,27):

        for character in message:

            if character in string.uppercase:

                old_ascii=ord(character)
                new_ascii=(old_ascii-key-65)%26+65
                new_char=chr(new_ascii)
                sys.stdout.write(new_char),

            elif character in string.lowercase:

                old_ascii=ord(character)
                new_ascii=(old_ascii-key-97)%26+97
                new_char=chr(new_ascii)
                sys.stdout.write(new_char),

            else:
                sys.stdout.write(character),
4

2 回答 2

1

跳线只需使用“\n”,例如:

sys.stdout.write("a\nb")

将 a 和 b 写在不同的行中

使用 + 将字符串添加到另一个

sys.stdout.write("a"+variable+"b")

还有其他“更高级”的方法,例如

sys.stdout.write("a%sb" % variable)

或者

sys.stdout.write("a{0}b".format(variable)

如果没有使用 sys.stdout.write 的意义,也在你的代码中不要使用它

这可能会对您有所帮助 https://docs.python.org/2/tutorial/introduction.html

于 2015-05-09T15:58:39.640 回答
-2

如果您只是在外循环的末尾添加以下内容,那么它将打印密钥并转到下一行:

        print '', key

然后输出将如下所示:

Sghr hr z sdrs 1
Rfgq gq y rcqr 2
Qefp fp x qbpq 3
        .
        .
        .
Uijt jt b uftu 25
This is a test 26

但我真的会为字符串变量中的当前键构建整个字符串,然后立即打印它。

于 2015-05-09T19:01:11.210 回答