简体   繁体   中英

While loop user input?

Instructions: Create a program that asks a user to enter a series of numbers. The user should enter a negative number to signal the end of the series. After all the positive numbers have been entered, the program should display their sum.

I am using Python 2, Python IDLE

I'm using a while loop for this assignment. So far, I made a program that is saying, while the user enters a positive number under the while loop, collect that number and keep adding it until the user enters a negative number. I am trying to find a way to include the first user input into the program.

print('This program calculates the sum of the numbers entered and ends 
after inputting a negative number')
total = 0.00
number = float(input('Enter a number: '))
while number >= 0:
    print('Enter another positive value if you wish to continue. Enter a 
    negative number to calculate the sum.')
    number = float(input('Enter a number: '))
    total = total + number
print('The sum is', total)

Have reduced your code to the below.
Performs checking of input in while loop and exits upon negative value.

total = 0.00

while True:
    print('Enter another positive value if you wish to continue. Enter a negative number to calculate the sum.')
    number = float(input('Enter a number: '))
    if number >= 0: # Check for positive numbers in loop
        total += number
    else:
        break
print('The sum is', total)

I assume you're a beginner, so firstly welcome to Python. I hope you're having fun, Now, as far as your code goes: there are two things I noticed off the bat:

  1. You can simply put this 'Enter another positive value if you wish to continue. Enter a negative number to calculate the sum.' inside your input, why bother with an extra print statement?
  2. You don't have to call the input() function twice.

Here's how I'd do it:

print('This program calculates the sum of the numbers entered and ends 
after inputting a negative number')
total = 0.00
while True:

   number = float(input("Enter a positive number(Negative number if you wish to terminate program"))
   if number >=0:
       total += number #equivalent to total=total + sum
   else:
       break # break out of while loop

print('The sum is', total)

PS - Why are you using Python 2 btw?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM