2017-02-22 34 views
0
def count_letters(let): 
    count = 0 
    for l in let: 
     if l != ['!',' ', '.', ',', '?']: 
      count += 1 
    return count 

这里是我的函数,它应该计算除['!','','。',',','?'之外的符号数量] 。当我运行程序时,它仍在计算所有符号。我应该如何修改我的代码中的“if”语句以正确运行程序?计数不带“!,。,_”的符号数量

回答

0

使用if l != ['!',' ', '.', ',', '?']你实际上是比较l到列表。换句话说,您在问:如果l['!',' ', '.', ',', '?']不同,请输入if声明。

你想知道的是如果l不在['!',' ', '.', ',', '?']里面。为此,您可以使用:

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

应该

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

X不属于S返回x s中的否定

检查docs