用python编写一个程序(或算法),将一串文本分解为偶数和奇数字符


def breakString(str):
    i = 0
    even = []
    odd = []
    for char in str
        if (i%2==0)
            even.push(char)
        else
            odd.push(char)

出于某种原因,这在我的 python 中没有运行。

  • 不要使用"str"作为变量名,它在Python中具有保留的含义。
  • 在缩进之前用冒号结束子句。
  • 使用追加而不是推送。
  • 你不算我,它总是 0

考虑到这一点,您最终会得到例如:

even = []
odd = []
def breakString(st): 
    for char in st:
        i = st.count(char)
        if (i%2==0):
            even.append(char)
        else:
            odd.append(char)   
breakString("aba noun")
print even
print odd

输出:

['a', 'a', 'n', 'n']
['b', ' ', 'o', 'u']

编译器会告诉您语法错误。所以下次,花一些精力来分析它告诉你的内容。

不起作用的主要原因是你没有递增i .你也没有返回任何东西。你可以在python wiki上阅读循环。工作方法可能如下所示:

def breakString(s):
even = []
odd = []
for i in range(len(s)):
    if (i % 2 == 0):
        even.append(s[i])
    else:
        odd.append(s[i])
return [even, odd]

我作为数组的数组返回,但你可以做任何事情。

最新更新