0

我正在尝试更好地格式化它,以便它打印为一个文本块(空格可以)

现在它像这样打印 [4444, 4444] 我希望它打印 4444 4444

#secret code encrypter 

def encoder(plain):
    '''encodes a given input with a secret formula
    '''
    result = []

    for i in plain:
        i=ord(i)*77+4
        result.append(i)

    return result 

def main():

    plain=input('Enter a sentence: ')
    final=encoder(plain)

    print(final)

main()
4

5 回答 5

7

使它们成为字符串并加入它们:

print(' '.join(map(str, your_list)))

甚至更好(如果您使用的是 Python 3.x)来避免显式转换:

print(*your_list)
于 2013-11-06T15:25:05.600 回答
4

如果我得到你想要做的事情,试试这个:

print(" ".join(map(str, final)))
于 2013-11-06T15:22:44.027 回答
2

根据您对较早答案的评论,您需要以下内容:

print(' '.join(str(x) for x in final))

这会将每个元素转换final为字符串,然后再用空格将它们连接起来。

于 2013-11-06T15:24:54.700 回答
1

尝试这个: print(" ".join(list_you_want_to_print))

str.join(iterable)将返回一个字符串,其中的项目由字符串分隔。

于 2013-11-06T15:23:26.470 回答
0

借鉴其他人从我的评论中指出的内容,增加了许多人之前在其中一个答案中遗漏的东西:

  1. (对于python 3.0 之前的版本:)您将要使用raw_input而不是input因为您只想捕获而不是评估。
    根据 2.7.5 文档:

    input(prompt)相当于eval(raw_input(prompt))

  2. 打印(主要来自 Jon C 的回答)使它们成为字符串并加入它们:

    print(' '.join(map(str, your_list)))
    

    甚至更好(如果您使用的是 Python 3.x)来避免显式对话:

    print(*your_list)
    
于 2013-11-06T15:43:08.077 回答