codewars python Count the smiley faces

import re


def count_smileys(arr):
    index = 0
    res = 0
    #遍历列表
    while index < len(arr):
        #找出字符串中带有 眼,嘴,或鼻子的项
        if arr[index].count(':') + arr[index].count(';') == 1 \
                and arr[index].count(')') + arr[index].count('D') == 1 \
                and arr[index].count('-') + arr[index].count('') <= 1:
            #将这些项中的 眼 嘴 鼻子 去掉, 如果字符串不为空  则表明有其他invalid字符
            i = re.sub("[-:;)D~]", '', arr[index]) #这里注意sub函数中减号字符'-'要放在第一个 不然会被当作算术操作符

            if len(i) == 0:
                res += 1
                print(res)

    return res

 

posted @ 2018-03-11 20:01  TomoFan  阅读(300)  评论(0编辑  收藏  举报