Python 为什么for循环会分割用户输入的字符串?
为什么在用户输入结果上循环会分割插入的值Python 为什么for循环会分割用户输入的字符串?,python,python-2.7,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 字符串是包含单个字符的序列。您正在迭代输入字符串,因此可以获得单个字符 如果要在空格分隔的单词列表上迭代,应首先将字符串拆分为一个列表: f
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
字符串是包含单个字符的序列。您正在迭代输入
字符串,因此可以获得单个字符
如果要在空格分隔的单词列表上迭代,应首先将字符串拆分为一个列表:
for i in inputs.split():
对raw\u input()
结果的.strip('\n')
调用是多余的,原因有二:
raw\u input()
- 不带参数的将在任意长度的空白(空格、制表符、换行符等)上拆分,并删除起始和结束处的空白。因此,即使要删除新行,
也会为您解决这一问题str.split()
- 字符串是包含单个字符的序列。您正在迭代
输入
字符串,因此可以获得单个字符
如果要在空格分隔的单词列表上迭代,应首先将字符串拆分为一个列表:
for i in inputs.split():
对raw\u input()
结果的.strip('\n')
调用是多余的,原因有二:
raw\u input()
- 不带参数的将在任意长度的空白(空格、制表符、换行符等)上拆分,并删除起始和结束处的空白。因此,即使要删除新行,
也会为您解决这一问题str.split()
- 也许你只是把split()和strip()弄混了
也许你把split()和strip()搞混了
因为你是在一个字符串上迭代,所以一个字符接一个字符。为什么它会在空格上神奇地分割呢?因为你是在一个字符串上迭代,所以一个字符一个字符。为什么它会在空格上神奇地分开?哦,真遗憾,我应该在发布这个问题之前再等一段时间。哦,真遗憾,我应该在发布这个问题之前再等一段时间。这是一个机会,因为我以前编写的另一个函数可以正确处理用户输入。也许是因为缺少早晨的咖啡,这是一个机会,因为我有另一个函数,我在过去写的,正确处理用户输入。也许是因为缺少早上的咖啡