Найти - Пользователи
Полная версия: Почему вывод функции срабатывает несколько раз?
Начало » Python для новичков » Почему вывод функции срабатывает несколько раз?
1
stepaside
   
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
stepaside
функция срабатывает один раз, а print - два, ну у тебя же так цикл написан - если х == 4, в списке две четверки, ну и сколько раз должно сработать это условие?
stepaside
понял, тогда как сделать так чтобы выдавало окончательный результат 1 раз?
FishHook
stepaside
надо открыть учебник на главе “функции” и узнать великую мудрость, что функции возвращают значения
stepaside
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]), "раза")

теперь все как я хотел
ntram
VANISHED
stepaside
ntram
на будущее: выделяй свой код тегами, снизу написано как
спасибо, собственно при создании топика и возник вопрос как сделать структуру кода, теперь все понятно и просто
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB