关于python2.7我有一些问题

2024-10-02 10:19:03 发布

您现在位置:Python中文网/ 问答频道 /正文

你能告诉我这里怎么了吗

不知什么原因,名单上什么都没有

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)

对不起我的英语


Tags: orforinputstringrawlenif原因
3条回答

您需要将if语句中的or更改为and。当前条件始终为true,因为textarea[n]不可能同时为“”和','

也可以使用正则表达式来拆分字符串,如here

>>> txt = "Hello, goodbye Fred"
>>> txt.replace(',', ' ').split()
['Hello', 'goodbye', 'Fred']

首先,您需要用and更改第一个if中的or

第二,第一个else中的if-else块是冗余的。尝试删除它,但将代码保留在第二个else块中

第三,在while之后添加一个append,这样存储在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()

这个班轮很好用

相关问题 更多 >

    热门问题