Reputation: 13
I need help figuring out how to ask the user if they would like to repeat the program. Any help is much appreciated. I am relatively new to Python and it would be great to receive some advice!
X = int(input("How many numbers would you like to enter? "))
Sum = 0
sumNeg = 0
sumPos = 0
for i in range(0,X,1):
number = float(input("Please enter number %i : " %(i+1) ))
# add every number to Sum
Sum = Sum + number # Sum += number
#only add negative numbers to sumNeg
if number < 0:
sumNeg += number # sumNeg = sumNeg + number
#only add positive numbers to sumPos
if number > 0:
sumPos += number # sumPos = sumPos + number
print ("------")
print ("The sum of all numbers = ", Sum)
print ("The sum of negative numbers = ", sumNeg)
print ("The sum of positive numbers = ", sumPos)
I'm not sure if I need to use a while loop, but how would I enter a (y/n) into my code because I am asking for an integer from the user in the beginning.
Upvotes: 1
Views: 1481
Reputation: 1620
Have an outer loop that comprises your whole processing.
It's an infinite loop.
You exit from this loop thanks to the break
statement once the user has answered no.
In fact once he has answered everything else than Y
or y
. The user string is converted to lower()
before comparison for more convenience.
while True:
X = int(input("How many numbers would you like to enter? "))
Sum = 0
sumNeg = 0
sumPos = 0
for i in range(0, X, 1):
number = float(input("Please enter number %i : " % (i + 1)))
# add every number to Sum
Sum = Sum + number # Sum += number
# only add negative numbers to sumNeg
if number < 0:
sumNeg += number # sumNeg = sumNeg + number
# only add positive numbers to sumPos
if number > 0:
sumPos += number # sumPos = sumPos + number
print("------")
print("The sum of all numbers = ", Sum)
print("The sum of negative numbers = ", sumNeg)
print("The sum of positive numbers = ", sumPos)
resp = input("Would you like to repeat the program ? (y/n)")
if resp.lower() != "y":
break
As an alternative to the while True
loop.
You could declare at the top of the script a variable user_wants_to_play = True
.
The while statement becomes while user_wants_to_play
.
And set the variable to False
when the user answers no.
Upvotes: 0
Reputation: 11
The following program will keep on executing until user enter 0 to break the loop.
while True:
X = int(input("How many numbers would you like to enter? "))
Sum, sumNeg, sumPos = 0
for i in range(X):
number = float(input("Please enter number %i : " %(i+1) ))
Sum += number
if number < 0:
sumNeg += number
if number > 0:
sumPos += number
print ("------")
print ("The sum of all numbers = ", Sum)
print ("The sum of negative numbers = ", sumNeg)
print ("The sum of positive numbers = ", sumPos)
print ("------")
trigger = int(input("The close the program enter 0: "))
if trigger == 0:
break
Upvotes: 0
Reputation: 21
Ask the user for input at the end of the loop to continue or not. If the user doesn't want to continue, use a break statement to break out of the loop.
Upvotes: 1