Уведомления

Группа в Telegram: @pythonsu

#1 Июль 7, 2022 20:07:32

stepaside
Зарегистрирован: 2022-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему вывод функции срабатывает несколько раз?

   
def func(arr):
     count = 0
     for x in arr:
         if x == 4:
             count +=1 
             print(f"Число", x, "найдено", count, "раз")
print(func([1,3,4,4,5,6,7,7]))

вот такой код.
Вывод след.
Число 4 найдено 1 раз
Число 4 найдено 2 раз
None

Подскажите пожалуйста почему так получается? Заранее спасибо

Отредактировано FishHook (Июль 7, 2022 20:24:13)

Офлайн

#2 Июль 7, 2022 20:26:41

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

Почему вывод функции срабатывает несколько раз?

stepaside
функция срабатывает один раз, а print - два, ну у тебя же так цикл написан - если х == 4, в списке две четверки, ну и сколько раз должно сработать это условие?



Офлайн

#3 Июль 7, 2022 20:38:19

stepaside
Зарегистрирован: 2022-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему вывод функции срабатывает несколько раз?

понял, тогда как сделать так чтобы выдавало окончательный результат 1 раз?

Офлайн

#4 Июль 7, 2022 20:40:10

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

Почему вывод функции срабатывает несколько раз?

stepaside
надо открыть учебник на главе “функции” и узнать великую мудрость, что функции возвращают значения



Офлайн

#5 Июль 7, 2022 21:18:45

stepaside
Зарегистрирован: 2022-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему вывод функции срабатывает несколько раз?

FishHook
надо открыть учебник на главе “функции” и узнать великую мудрость, что функции возвращают значения

спасибо конечно за return, но смысл был в логике самого кода
переделал

 def func(arr):
    count = 0
    for x in arr:
        if x == 4:
            count +=1 
            
            
    
    return(count)
      
print("число 4 было", func([1,3,4,4,5,6,7,7]), "раза")

теперь все как я хотел

Отредактировано stepaside (Июль 8, 2022 13:35:50)

Офлайн

#6 Июль 7, 2022 22:52:26

ntram
Зарегистрирован: 2022-06-19
Сообщения: 75
Репутация: +  3  -
Профиль   Отправить e-mail  

Почему вывод функции срабатывает несколько раз?

VANISHED

Отредактировано ntram (Окт. 13, 2022 15:51:15)

Офлайн

#7 Июль 8, 2022 13:36:28

stepaside
Зарегистрирован: 2022-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему вывод функции срабатывает несколько раз?

ntram
на будущее: выделяй свой код тегами, снизу написано как
спасибо, собственно при создании топика и возник вопрос как сделать структуру кода, теперь все понятно и просто

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version