我想在Python中创建一个函数,其中输入将是String并将其输入到要返回的数组中。
例如:
Input: "The dog is red"
Output: "The", "dog", "is", "red"
我相信算法应该可行,但不会返回任何内容。根据我的假设,if语句没有检测到空格(“)。
代码如下:
string = input("Input here:")
def token(string):
start = 0
i = 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1]:
token_list = token_list + string[start:i+1]
print string[start:i+1]
start = i + 1
i += 1
return token_list
答案 0 :(得分:2)
您可以简单地拆分字符串。
result=input.split(" ")
或
string = raw_input("Input here:")
def token(string):
start = 0
i = 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1][0]:
token_list.append(string[start:i+1])
#print string[start:i+1]
start = i + 1
i += 1
token_list.append(string[start:i+1])
return token_list
print token(string)
答案 1 :(得分:0)
您可以将功能修改为如下所示:
string = input("Input here:")
def token(string):
start, i = 0, 0
token_list = []
for x in range(0, len(string)):
if " " == string[i:i+1]:
token_list.append(string[start:i])
start = i + 1
i += 1
token_list.append(string[start:i])
return token_list
print token(string)
如果您不想包含尾随空格,则只需要追加i
。第二个append
是必要的,因为你的条件是检查一个空格来包含单词,但是最后一个单词不会有尾随空格,而是会有一个行尾字符或null。