Python将'123'分成'1','2','3'

Van*_*ish 0 python

我的程序采用用户输入,例如:

>>> x = input()
>>> 1
>>> print x
>>> one
Run Code Online (Sandbox Code Playgroud)

我的实际代码:

>>> import string
>>> numbers = ['0','1','2','3','4','5','6','7','8','9']
>>> wordNumbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
>>> myDict = dict(zip(numbers, wordNumbers))
>>> myVar = (raw_input("Enter a number to be tranlated: "))

>>> for translate in myVar.split():
>>>     print(myDict[translate])
Run Code Online (Sandbox Code Playgroud)

问题是我需要用户输入123和我的程序输出one two three,但它不是出于某种原因.

我想如果我添加一些语法之间的空格123就像1 2 3它会起作用.

int*_*jay 7

你只需要使用:

for translate in myVar:
Run Code Online (Sandbox Code Playgroud)

代替:

for translate in myVar.split():
Run Code Online (Sandbox Code Playgroud)

迭代字符串可以逐个显示字符,这就是您所需要的.

如果你想转换'123''1 2 3'(这里不需要,因为你不需要使用split),你可以使用:

' '.join(myVar)
Run Code Online (Sandbox Code Playgroud)

  • @ IRO-bot:由于他使用`raw_input`,`myVar`将永远是一个字符串.如果它是一个整数,那么你需要`str(myVar)`. (2认同)