计算符号数量没有"!,。,,_"

时间:2017-02-22 17:12:04

标签: python

def count_letters(let):
    count = 0
    for l in let:
        if l != ['!',' ', '.', ',', '?']:
            count += 1
    return count

这是我的功能,应该计算符号数量,除了['!',' ','。',',','?']。当我运行程序时,它仍在计算所有符号。如何修改我的" if"在我的代码中声明正确运行程序?

2 个答案:

答案 0 :(得分:1)

应该是

 if l not in ['!',' ', '.', ',', '?']:
  

x不在s中返回s

中x的否定

检查docs

答案 1 :(得分:0)

使用if l != ['!',' ', '.', ',', '?']您实际上是将l与列表进行比较。换句话说,您要问:如果l['!',' ', '.', ',', '?']不同,请输入if语句。

您想知道的是l是否在['!',' ', '.', ',', '?']内。为此,您可以使用:

if l not in ['!',' ', '.', ',', '?']: