为什么循环是分割用户输入的字符串?

时间:2016-10-24 09:18:13

标签: python python-2.7

为什么循环用户输入结果会拆分插入的值?

text = ("Insert something: ")
inputs = raw_input(text).strip("\n")

for i in inputs:
    print i

结果

Insert something: 01 02 03
0
1

0
2

0
3

预期结果:

01
02
03

2 个答案:

答案 0 :(得分:8)

字符串是序列,包含单个字符。您正在迭代inputs字符串,因此您可以获得单个字符。

如果你想迭代一个以空格分隔的单词列表,你应该首先将字符串拆分成一个列表:

for i in inputs.split():

.strip('\n')结果的raw_input()调用是多余的,原因有两个:

  • raw_input()返回没有换行符的输入字符串,因此无需在此处删除换行符。
  • str.split() method,不带参数,拆分任意长度的空格(空格,制表符,换行符等),并删除开头和结尾的空格。因此,即使 要删除换行符,str.split()也会为您处理此问题。

答案 1 :(得分:2)

也许你只是混淆了split()和strip()?

text = ("Insert something: ")
inputs = raw_input(text).split(" ")

for i in inputs:
    print i