shahzaib aslam
shahzaib aslam

Reputation: 3

Having inputs add onto each other in python

I am a beginner, and I was working on a simple credit program. I want it to work so every time I add an input of a number it gets stored in a variable that shows my total balance. The problem right now is that the program is only a one use program so the input i enter does not get saved into a variable so that when I enter another value it gets added onto a previous input. Code is below:

Purchase = int(input("How much was your purchase? "))


credit_balance = 0

credit_limit = 2000


Total = credit_balance + Purchase
    
print("Your account value right now: ", Total)


if Total == credit_limit:
    print("You have reached your credit limit!", Total)

Upvotes: 0

Views: 141

Answers (2)

forgebench
forgebench

Reputation: 11

You'll need to introduce a while loop to keep it going. Try this:

credit_limit = 2000
credit_balance = 0

while True:

    print('Welcome to the Credit Card Company')
    Purchase = int(input("How much was your purchase? "))
    Total = credit_balance + Purchase

    print("Your account value right now: ", Total)

    if Total >= credit_limit:
        print("You have reached your credit limit!", Total)

Note that this will keep it going indefinitely. You'll need to add logic for the user to input a command to exit. You can use something like:

    print('Welcome to the Credit Card Company')
    Purchase = int(input("How much was your purchase? Or type Exit to exit."))

Then:

if Purchase == 'Exit':
    exit()

Edit:

Here's a version that retains the balance each time. The key difference is that a variable can equal its previous value plus a change. I rewrote a few things for clarity.

credit_limit = 2000
current_balance = 0

while True:

    print('Welcome to the Credit Card Company')
    Purchase = int(input("How much was your purchase? "))
    current_balance = current_balance + Purchase

    print("Your account value right now: ", current_balance)

    if current_balance == credit_limit:
        print("You have reached your credit limit!", current_balance)

Upvotes: 1

Charles Yang
Charles Yang

Reputation: 344

You can get user input infinitely if you use a while loop:

credit_balance = 0
credit_limit = 2000

while True:
    purchase = int(input("How much was your purchase? "))
    credit_balance += purchase  # add purchase to credit_balance
    
    print("Your account value right now: ", credit_balance)
    
    if credit_balance >= credit_limit:
        print("You have reached/exceeded your credit limit!", Total)

A good exercise would be to add some logic to ensure purchases don't exceed the credit limit.

Upvotes: 0

Related Questions