为什么循环用户输入结果会拆分插入的值?
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
答案 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