什么是拆分字符串的Python代码,以便它通常在80个字符的窗口中打印而不包装?

-4 python string character word-wrap

当我运行我的程序(解密某个文档中的段落)时,我有:

W
E
T
H
E
P
E
O
P
L
E
O
F
T
H
E
U
N
I
T
E
D
S
T
A
T
E
S
I
N
O
R
D
E
R
T
O
F
O
R
M
A
M
O
R
E
P
E
R
F
E
C
T
U
N
I
O
N
E
S
T
A
B
L
I
S
H
J
U
S
T
I
C
E
I
N
S
U
R
E
D
O
M
E
S
T
I
C
T
R
A
N
Q
U
I
L
I
T
Y
P
R
O
V
I
D
E
F
O
R
T
H
E
C
O
M
M
O
N
D
E
F
E
N
S
E
P
R
O
M
O
T
E
T
H
E
G
E
N
E
R
A
L
W
E
L
F
A
R
E
A
N
D
S
E
C
U
R
E
T
H
E
B
L
E
S
S
I
N
G
S
O
F
L
I
B
E
R
T
Y
T
O
O
U
R
S
E
L
V
E
S
A
N
D
O
U
R
P
O
S
T
E
R
I
T
Y
D
O
O
R
D
A
I
N
A
N
D
E
S
T
A
B
L
I
S
H
T
H
I
S
C
O
N
S
T
I
T
U
T
I
O
N
F
O
R
T
H
E
U
N
I
T
E
D
S
T
A
T
E
S
O
F
A
M
E
R
I
C
A
Run Code Online (Sandbox Code Playgroud)

你不能从这里说出来,但基本上每行一个字母.

但是,我希望它说:

我们是美国的人民,为了组建一个更完美的联盟,建立正义,保证国内的安静,提供共同的防御,促进一般的福利,并确保自由的祝福与我们的自然和我们的永久性,做和事为美利坚合众国建立这种宪法.

为了实现这个目的,我必须添加到程序中的代码是什么?

And*_*Dog 6

我不知道那个单字符是什么意思,因为你没有告诉我们原因,但是textwrap模块会给你你想要的东西:

s="WE THE PEOPLE OF THE UNITED STATES, IN ORDER TO FORM A MORE PERFECT UNION, ESTABLISH JUSTICE, INSURE DOMESTIC TRANQUILITY, PROVIDE FOR THE COMMON DEFENSE, PROMOTE THE GENERAL WELFARE, AND SECURE THE BLESSINGS OF LIBERTY TO OURSELVES AND OUR POSTERITY, DO ORDAIN AND ESTABLISH THIS CONSTITUTION FOR THE UNITED STATES OF AMERICA."

import textwrap
print "\n".join(textwrap.wrap(s, 80))
Run Code Online (Sandbox Code Playgroud)

我从您的评论中重建了您的原始代码,这是一个更正后的版本:

# You don't even use this so why import it? --> import string

def main():
    user_string = raw_input()
    all_caps = user_string.upper() # guess you wanted to make it uppercase
    output = [] # this will hold the decoded characters

    for char in all_caps:
        if char.isalpha():
            value = ord(char)
            if 70 <= value <= 90: # look at this, almost no other programming language supports that syntax
                num = value - 5
            elif 65 <= value <= 69:
                num = value + 21
            output.append(chr(num)) # add the decoded character to the output list
        else:
            output.append(char) # add the character verbatim to the output list (e.g. whitespace)

    print "".join(output) # print out the list by putting it together into a string

main()
Run Code Online (Sandbox Code Playgroud)