Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2013 15:26:08

Pyonth
Зарегистрирован: 2013-09-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

def fizz_count(x):
    counter = 0
    for count in x:
        if ("fizz" in count) and type(count) != int:
            counter = counter + 1
    return counter
z = ["fizz","buzz","fizz"]
print fizz_count(z)

Подскажите пожалуйста, почему крешится, если в список добавить числа?

Офлайн

#2 Окт. 5, 2013 15:38:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

"fizz" in count
Что такое count? Это “fizz”,“buzz”,“fizz” и так далее, вы же for по списку делаете.
А если в списке 23?
То получится
"fizz" in 23
но по числу 23 нельзя сделать перебор, это не коллекция.

В Вашем случае надо так
"fizz" == count
тогда ошибки не будет,
а вообще код плохой.



Офлайн

#3 Окт. 5, 2013 15:41:58

Pyonth
Зарегистрирован: 2013-09-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

FishHook
тогда ошибки не будет,
а вообще код плохой.

Я с вами согласен. Но для того, чтобы он стал хороший, нужно совершенствовать навыки и писать код, не так ли?

Офлайн

#4 Окт. 5, 2013 15:43:07

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

как то так будет интересней

def fizz_count(x):
    return len([s for s in x if "fizz" in str(s)])
z = ["fizz", "buzz", "fizz", 1, 23, "fizzizz"]
print fizz_count(z)



Офлайн

#5 Окт. 5, 2013 18:15:18

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

>>> z = ["fizz","buzz","fizz"]
>>> z.count("fizz")
0: 2
или задание такое: решить своим великом?



Офлайн

#6 Окт. 5, 2013 18:29:19

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с кодом, пожалуйста

sp3
Насколько я понял, нужно учитывать вхождение подстроки, иначе не понятен in, в стартовом посте.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version