﻿ Python: Find the first negative balance - w3resource

# Python: Find the first negative balance

## Python Programming Puzzles: Exercise-70 with Solution

Write a Python program to find the first negative balance from a given list of numbers that represent bank deposits and withdrawals.

```Input:
[[12, -7, 3, -89, 14, 88, -78], [-1, 2, 7]]

Output:
[-81, -1]
Input:
[[1200, 100, -900], [100, 100, -2400]]

Output:
[None, -2200]
```

Visual Presentation:

Sample Solution:

Python Code:

``````# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of balances as input
def test(balances):
firsts = []  # Initialize an empty list to store the first negative balances

# Iterate over each list of balances in the input list
for bals in balances:
total = 0  # Initialize a variable to store the running total of balances

# Iterate over each balance in the list of balances
for b in bals:
total += b  # Update the running total with the current balance

# Check if the running total becomes negative
if total < 0:
firsts.append(total)  # Append the first negative balance to the result list
break
else:
firsts.append(None)  # If no negative balance is found, append None to the result list

return firsts  # Return the list of first negative balances

# Example 1
balances1 = [[12, -7, 3, -89, 14, 88, -78], [-1, 2, 7]]
print("Bank deposits and withdrawals:")
print(balances1)
print("\nFirst negative balance of deposits and withdrawals:")
print(test(balances1))

# Example 2
balances2 = [[1200, 100, -900], [100, 100, -2400]]
print("\nBank deposits and withdrawals:")
print(balances2)
print("\nFirst negative balance of deposits and withdrawals:")
print(test(balances2))
``````

Sample Output:

```Bank deposits and withdrawals:
[[12, -7, 3, -89, 14, 88, -78], [-1, 2, 7]]

First negative balance of deposits and withdrawals:
[-81, -1]
Bank deposits and withdrawals:
[[1200, 100, -900], [100, 100, -2400]]

First negative balance of deposits and withdrawals:
[None, -2200]
```

Flowchart:

Python Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿