git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]# The sum of ten numbers inserted from the user

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

I just realized that input has changed in Python 3 and I was using Python 2.7.13 with from __future__ import print_function and some others, but not that. In Python 3 the int( ) or float( ) cast is necessary because input( ) does what raw_input( ) did in Python 2; raw_input( ) name is therefore removed. --- Joe S. From: Ian Clark <ianhclark510 at gmail.com> Sent: Thursday, February 7, 2019 1:27 PM To: Schachner, Joseph <Joseph.Schachner at Teledyne.com> Cc: python-list at python.org Subject: Re: The sum of ten numbers inserted from the user This is my whack at it, I can't wait to hear about it being the wrong big o notation! numbers=[] while len(numbers) < 10: try: chip = int(input('please enter an integer: ')) except ValueError: print('that is not a number, try again') else: numbers.append(chip) print(sum(numbers)) On Thu, Feb 7, 2019 at 10:23 AM Schachner, Joseph <Joseph.Schachner at teledyne.com<mailto:Joseph.Schachner at teledyne.com>> wrote: Well of course that doesn't work. For starters, x is an int or a float value. After the loop It holds the 10th value. It might hold 432.7 ... It is not a list. The default start for range is 0. The stop value, as you already know, is not part of the range. So I will use range(10). In the second loop, I think you thought x would be a list and you I'm sure you wanted to do for y in x: but instead you did for y in range(x) and remember x might be a very large number. So the second loop would loop that many times, and each pass it would assign y (which has first value of 0 and last value of whatever x-1 is) to sum. Even though its name is "sum" it is not a sum. After the loop it would hold x-1. You wanted to do sum += y. Or sum = sum + y. I prefer the former, but that could reflect my history as a C and C++ programmer. And then you printed y, but you really want to print sum (assuming that sum was actually the sum). Putting all of the above together, you want to do this: vallist =[] # an empty list, so we can append to it for n in range(10): x = input("Insert a number: ") # get 1 number into x vallist.append(x) # append it to our list # Now vallist holds 10 values sum = 0 # No need to start sum as a float, in Python if we add a float to an integer the result will be float. It doesn't matter in the program if sum is int or float. for y in vallist: sum += y print( "The sum is: ", sum) -----Original Message----- From: ^Bart <gabriele1NOSPAM at hotmail.com<mailto:gabriele1NOSPAM at hotmail.com>> Sent: Thursday, February 7, 2019 6:30 AM To: python-list at python.org<mailto:python-list at python.org> Subject: The sum of ten numbers inserted from the user I thought something like it but doesn't work... for n in range(1, 11): x = input("Insert a number: ") for y in range(x): sum = y print ("The sum is: ",y) -- https://mail.python.org/mailman/listinfo/python-list

- Prev by Date:
**The sum of ten numbers inserted from the user** - Next by Date:
**The sum of ten numbers inserted from the user** - Previous by thread:
**The sum of ten numbers inserted from the user** - Next by thread:
**The sum of ten numbers inserted from the user** - Index(es):