我如何使它只打印最后一个值?

时间:2010-07-15 17:43:24

标签: python

我有一个用来加密按摩的代码:

massage= raw_input("Enter message to be encrypted: ")

spec = chr(0b1010101)

key = ord(spec)

encrypt = ""

for i in range(0, len(massage)):

        encrypt = encrypt + chr(ord(massage[i]) ^ key)

        print encrypt

说我给它“溜溜球”

它会给我:

,:û

,:U,

,:U,:

我只需要最终答案,即:u,:

我该怎么做?

5 个答案:

答案 0 :(得分:3)

将print语句放在循环外

由于print语句在内部,因此每次迭代运行一次。如果它在外面,那么它只会做一次 - 一旦它完成。

for i in range(0, len(massage)):
    encrypt = encrypt + chr(ord(massage[i]) ^ key)

print encrypt

答案 1 :(得分:0)

打印出来的打印。这将使它脱离for循环,并仅在循环结束时打印其值。

稍微不同的是,如果您希望人们花时间和精力回答您的问题,您可能希望确定您的录取率。到目前为止,您已经提出了8个问题,但您没有接受任何答案。 (单击答案旁边的箭头接受它)

答案 2 :(得分:0)

message= raw_input("Enter message to be encrypted: ")

spec = chr(0b1010101)

key = ord(spec)

encrypt = ""

for i in range(0, len(message)):

    encrypt = encrypt + chr(ord(message[i]) ^ key)

print encrypt

答案 3 :(得分:0)

将print语句移到for循环之外。要做到这一点,你需要取消打印声明。

答案 4 :(得分:0)

使用发电机:

message= raw_input("Enter message to be encrypted: ")
key=0b1010101
print ''.join(chr(key^ord(c)) for c in message)