使用此代码:
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 A将print"汽车速度快"和print len(A)与print 13,这是"的长度汽车速度快".
我怎样才能让Python识别出我的剩余部分input?
谢谢.
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)