python只识别我输入的第一行

use*_*147 2 python input

使用此代码:

A = raw_input("Please input text here")
print A
print len(A)
Run Code Online (Sandbox Code Playgroud)

对于input,当我从记事本复制和粘贴时,它只识别以下第一行:

Cars are fast
Motorcycles are faster
Planes are even faster
Run Code Online (Sandbox Code Playgroud)

因此,print Aprint"汽车速度快"和print len(A)print 13,这是"的长度汽车速度快".

我怎样才能让Python识别出我的剩余部分input

谢谢.

Gra*_*art 5

raw_input只读取一行输入.

有关从命令行获取输入的一般概述,请参阅此问题的答案.

如果你想使用raw_input,那么一个循环会读取你所有的行,但你需要一种方法来突破,就像这样.

while True:
    A = raw_input("Please input text here (Q to quit)")
    if len(A) == 1 and A[0].lower() == "q":
        break
    print A
    print len(A)
Run Code Online (Sandbox Code Playgroud)

要整理多行,请执行以下操作

data = []
while True:
    A = raw_input("Please input text here (Q to quit)")
    if len(A) == 1 and A[0].lower() == "q":
        break
    data.append(A)

print data
for A in data:
    print len(A)
Run Code Online (Sandbox Code Playgroud)

请记住在粘贴后输入换行符.此外,raw_input提示消息可能无法正确显示.

你可能会疯狂并管理提示.期望零长度输入意味着用户正在尝试退出.

data = []
prompt = "Please input text (Q to quit):\n"
while True:
    if data:
        A = raw_input()
    else:
        A = raw_input(prompt)    
    while len(A) == 0:
        A = raw_input(prompt)
    if len(A) == 1 and A[0].lower() == "q":
        break        
    data.append(A)

for A in data:
    print "%s - %i" % (A, len(A))
Run Code Online (Sandbox Code Playgroud)