你能告诉我这里有什么问题吗?
由于某些原因,列表中没有任何内容。
textarea = raw_input()
n=0
txa = []
string =""
while(n < len(textarea)):
if(textarea[n] != ' ' or textarea[n] != ','):
string += textarea[n]
n=n+1
print (string)
else:
print "For some reason I'm never here."
if(string == ' ' or string == ','):
string = ""
else:
txa.append(string)
string = ""
n=n+1
print(txa)
抱歉我的英文。
答案 0 :(得分:0)
您需要将if语句中的(?<=\.\n)\s*
更改为or
。目前条件总是正确的,因为and
不可能同时为''和','。
您还可以使用正则表达式将字符串拆分为here
答案 1 :(得分:0)
>>> txt = "Hello, goodbye Fred"
>>> txt.replace(',', ' ').split()
['Hello', 'goodbye', 'Fred']
答案 2 :(得分:0)
首先,您需要使用or
更改第一个if
中的and
。
其次,第一个if-else
中的else
块是多余的。尝试删除它,但保留第二个else
块中的代码。
第三,在append
之后添加while
,以便存储在string
变量中的最后一个单词也会进入txa
列表。
你的代码几乎就是这样 -
while(n < len(textarea)):
if(textarea[n] != ' ' and textarea[n] != ','):
string += textarea[n]
n=n+1
print (string)
else:
print ("For some reason I'm never here.")
txa.append(string)
string = ""
n=n+1
txa.append(string)
print(txa)
提示:此外,您可以尝试使用内置函数为您进行拆分。
txa = str(raw_input()).replace(',', ' ').split()
这个单线程工作正常。