Home > Enterprise >  Can someone help me loop this script (Python)?
Can someone help me loop this script (Python)?

Time:09-21

I have this Python assigment to complete where I need to write a program that reads in X whole numbers and outputs (1) the sum of all positive numbers, (2) the sum of all negative numbers, and (3) the sum of all positive and negative numbers. The user can enter the X numbers in any different order every time, and can repeat the program if desired. This is what I've got so far:

x = int(input('How many numbers would you like to enter?: '))
sumAll = 0
sumNeg = 0
sumPos = 0
for k in range (0,x,1):
    num = int(input("please enter number %i :" %(k 1)))
    sumAll = sumAll   num
    if num < 0:
        sumNeg  = num

    if num > 0:
        sumPos  = num


    if k == 0:
        smallest = num
        largest = num


    else:
        if num < smallest:
            smallest = num
        if num > largest:
            largest = num

print("The sum of negative numbers is: " , sumNeg)
print("The sum of positive numbers is: " , sumPos)
print("The sum of all numbers is: " , sumAll)

count = 0

repeat = input('Would you like to repeat? y/n: ')

repeat = 'y'

while y == 'y':

I'm just a little stuck after this point. Any ideas on what I should do?

CodePudding user response:

A simple while loop would suffice.

run = True
while run is True:
    x = int(input('How many numbers would you like to enter?: '))
    sumAll = 0
    sumNeg = 0
    sumPos = 0

    for k in range (0,x,1):
        num = int(input("please enter number %i :" %(k 1)))
        sumAll = sumAll   num
        if num < 0:
            sumNeg  = num

        if num > 0:
            sumPos  = num


        if k == 0:
            smallest = num
            largest = num


        else:
            if num < smallest:
                smallest = num
            if num > largest:
                largest = num

    print("The sum of negative numbers is: " , sumNeg)
    print("The sum of positive numbers is: " , sumPos)
    print("The sum of all numbers is: " , sumAll)

    repeat = input('Would you like to repeat? y/n: ')

    if repeat != 'y':
        run = False

Example of the output:

How many numbers would you like to enter?:  4
please enter number 1 : 3
please enter number 2 : 2
please enter number 3 : 4
please enter number 4 : 5
The sum of negative numbers is:  0
The sum of positive numbers is:  14
The sum of all numbers is:  14
Would you like to repeat? y/n:  y
How many numbers would you like to enter?:  3
please enter number 1 : 2
please enter number 2 : 4
please enter number 3 : 3
The sum of negative numbers is:  0
The sum of positive numbers is:  9
The sum of all numbers is:  9
Would you like to repeat? y/n:  n

CodePudding user response:

You just need to place your code inside an outer loop, that might start it all over again if the user wants to repeat.

while True:
   # all your current code until the prints

   repeat = input('Would you like to repeat? y/n: ')
   if repeat is not 'y':
      break
  • Related