finding a character in a string
Используйте цикл
forдля прохождения строки, и подсчитайте число символовlв строкеHello world.
Это моя программа на Питоне и она не работает. Прошу вас показать мне правильный подход и почему мой код не работает:
str = 'Hello world'
k = 0
for i in str:
if str[b] == 'l':
k += 1
print(k)
Ответы (2 шт):
Задавать вопросы принято по-русски, но вот ответ / It is customary to ask questions in Russian, but here is the answer:
str = 'Hello world'
k = 0
for i in str:
if i == 'l':
k += 1
print(k)
if str[b] == 'l':
В вашей программе нет переменной b, потому ошибка.
Используйте прямо переменную i из заголовка цикла
for i in str:
if i == 'l':
так как ее значением является очередной символ из переменной str.
Примечание 1:
Есть тоже такая возможность поправки:
for b in range(len(str)):
if str[b] == 'l':
но это некрасивый, не Питонический подход.
Примечание 2:
str не очень удобное имя для переменной, потому что оно есть имением встроенной функции. Было бы хорошо применить какое-то другое, по меньшей мере str_.