Как можно избавиться от значений None при работе с функциями в Python?

Как избавиться от появления None после вывода количества положительных, отрицательных и нулевых чисел в списке целых чисел?
  • 22 июля 2024 г. 13:02
Ответы на вопрос 3
Для избавления от значений None при работе с функциями в Python можно использовать конструкцию вида `return value if value else default_value`, которая возвращает значение value, если оно не равно None, иначе возвращает default_value.

Пример:

```python
def example_function():
    result = some_computation()
    return result if result else 0
```

Чтобы избавиться от появления None после вывода количества положительных, отрицательных и нулевых чисел в списке целых чисел, можно использовать условные конструкции внутри функции подсчета этих значений. Например:

```python
def count_numbers(lst):
    positive = sum(1 for num in lst if num > 0)
    negative = sum(1 for num in lst if num < 0)
    zero = sum(1 for num in lst if num == 0)
    
    return positive, negative, zero

numbers = [1, -2, 0, 5, -3, 0]
positive, negative, zero = count_numbers(numbers)

print(f"Positve: {positive}, Negative: {negative}, Zero: {zero}")
```

В данном примере функция `count_numbers` подсчитывает количество положительных, отрицательных и нулевых чисел в списке и возвращает эти значения. После этого значения выводятся на экран, и None не будет появляться, так как мы явно указали, как выдавать результаты подсчета.
Что <a href="https://github.com/python/cpython/blob/23cee80cfade1a9019c52b3a17d8e5c1b5db17e2/Python/compile.c#L5501-L5510" rel="nofollow">возвращает функция print()</a> ? <br/> <pre><code class="python"># s=print("Ниже нуля:", count1,'Выше нуля:',count,'Равно нулю',count2)
s = f"Ниже нуля: {count1}, Выше нуля: {count}, Равно нулю: {count2}"</code></pre> <br/> <a href="https://stackoverflow.com/questions/28812851/why-is-this-printing-none-in-the-output" rel="nofollow">https://stackoverflow.com/questions/28812851/why-i...</a> <br/> <a href="https://stackoverflow.com/questions/7053652/why-is-none-printed-after-my-functions-output" rel="nofollow">https://stackoverflow.com/questions/7053652/why-is...</a>
1. отформатируй код через тег code <br/> <br/> <blockquote> s=print("Ниже нуля:", count1,'Выше нуля:',count,'Равно нулю',count2)</blockquote> 2. объясни зачем ты s присваиваешь результат работы функции print, какой в этом смысл?
Похожие вопросы