2016-01-31 3 views
-3

Python noob here so bear with me .. Я пытаюсь подсчитать вхождения «w» в списке, используя только оператор for и оператор if.Считайте появление символа в списке

Вот мой код:

items = ["whirring", "calendar", "wry", "glass", "", "llama","tumultuous","owing"] 


acc_num = 0 

for i in range(len(items)): 
    if w in i: 
    acc_num = acc_num + 1 

print acc_num 
+3

... у вас есть вопрос? – jonrsharpe

ответ

0

Ваш код имел некоторые ошибки. Вот ваш код рабочий:

items = ["whirring", "calendar", "wry", "glass", "", "llama","tumultuous","owing"] 


acc_num = 0 

for item in items: 
    if 'w' in item: 
     acc_num = acc_num + 1 

print(acc_num) 

Конечно, есть некоторые проблемы: если слово имеет два вхождений «ж», вы хотите, чтобы считать это дважды? А как насчет столицы «W»?

0

Используйте следующую перебирать каждое слово в списке:

for word in items: 

Чтобы проверить, если w существует в слове, что вам нужно сделать:

if 'w' in word: 

Если вы не обернуть он с ' (одинарные кавычки), он будет рассматриваться как переменная.

1

Вы можете использовать str.count() найти все «ш»

''.join(items).count('w') 

Для подсчета слов с одним или более «ш»

sum('w' in item for item in items) 
Смежные вопросы