Start learning free

LESSON 75 OF 410 · CONDITIONAL STATEMENTS

Is Number Negative? (Python, O(1) Time Complexity)

Practice Read the full explanation

Create a function that takes a number n as its only argument and prints "negative" to the console if n is less than zero, otherwise prints "positive" to the console.

Example 1:

Input: n = 5
Output: "positive"
Explanation:
5 is greater than or equal to zero, so our function prints "positive" to the console.

Example 2:

Input: n = 0
Output: "positive"
Explanation:
0 is greater than or equal to zero, so our function prints "positive" to the console.

Example 3:

Input: n = -2
Output: "negative"
Explanation:
-2 is less than zero, so our function prints "negative" to the console.

Hints:

You can make use of < operator with an if statement to check if n is negative.

You can add an else statement to handle the case when n is positive.
STEP 1 OF 3
    Ctrl + Enter to check

    PYTHON · CONDITIONAL STATEMENTS

    Is Number Negative in Python, explained

    Understanding the Problem

    The core challenge of this problem is to determine whether a given number is negative or not. This is a fundamental problem in programming that helps in understanding conditional statements and basic comparison operations.

    Significance and common applications include:

    • Data validation: Ensuring that inputs meet certain criteria.
    • Mathematical computations: Handling different cases based on the sign of numbers.
    • Algorithm design: Making decisions based on numerical comparisons.

    Potential pitfalls and misconceptions:

    • Forgetting to handle the case when the number is zero.
    • Misunderstanding the comparison operators.

    Approach

    To solve this problem, we can use a simple conditional statement to check if the number is less than zero. If it is, we print "negative"; otherwise, we print "positive".

    Initial naive solution:

    The naive solution involves directly using an if-else statement to check the condition. This approach is already optimal for this problem as it operates in constant time, O(1).

    Algorithm

    Here is a step-by-step breakdown of the algorithm:

    1. Take the input number n.
    2. Check if n is less than zero using the < operator.
    3. If the condition is true, print "negative".
    4. Otherwise, print "positive".

    Code Implementation

    def check_number(n):
        # Check if the number is less than zero
        if n < 0:
            print("negative")
        else:
            print("positive")
    
    # Test cases
    check_number(5)  # Output: "positive"
    check_number(0)  # Output: "positive"
    check_number(-2) # Output: "negative"
    

    Complexity Analysis

    The time complexity of this solution is O(1) because the comparison and print operations take constant time. The space complexity is also O(1) as we are not using any additional data structures.

    Edge Cases

    Potential edge cases include:

    • Zero: The function should correctly identify zero as "positive".
    • Large positive and negative numbers: The function should handle large integers without any issues.

    Examples of edge cases and their expected outputs:

    check_number(0)    # Output: "positive"
    check_number(-100) # Output: "negative"
    check_number(100)  # Output: "positive"
    

    Testing

    To test the solution comprehensively, we can use a variety of test cases:

    • Simple positive and negative numbers.
    • Zero.
    • Large positive and negative numbers.

    Example test cases:

    check_number(5)    # Output: "positive"
    check_number(0)    # Output: "positive"
    check_number(-2)   # Output: "negative"
    check_number(1000) # Output: "positive"
    check_number(-1000)# Output: "negative"
    

    Thinking and Problem-Solving Tips

    When approaching such problems, consider the following tips:

    • Understand the problem requirements and constraints.
    • Break down the problem into smaller, manageable steps.
    • Think about edge cases and how to handle them.
    • Practice similar problems to improve your problem-solving skills.

    Conclusion

    In this blog post, we discussed how to determine if a number is negative using a simple conditional statement in Python. We covered the problem definition, approach, algorithm, code implementation, complexity analysis, edge cases, and testing. Understanding and solving such problems is crucial for developing strong programming and problem-solving skills.

    Additional Resources

    For further reading and practice, consider the following resources:

    Keep going with PythonAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free