Velocity Reviews > Using Loops to track user input

# Using Loops to track user input

hokiegal99
Guest
Posts: n/a

 07-06-2003
I don't understand how to use a loop to keep track of user input. Could
someone show me how to do what the program below does with a loop?

Thnaks!

----------------------------
#Write a program that reads 10 numbers from the user and prints out the
sum of those numbers.

num0 = input("Enter a number: ")
num1 = input("Enter a number: ")
num2 = input("Enter a number: ")
num3 = input("Enter a number: ")
num4 = input("Enter a number: ")
num5 = input("Enter a number: ")
num6 = input("Enter a number: ")
num7 = input("Enter a number: ")
num8 = input("Enter a number: ")
num9 = input("Enter a number: ")

num = num0+num1+num2+num3+num4+num5+num6+num7+num8+num9

print num
----------------------------------

Cousin Stanley
Guest
Posts: n/a

 07-06-2003
| Write a program that reads 10 numbers from the user
| and prints out the sum of those numbers.

hokiegal ...

Here is one way ...

nLoops = 10
total = 0

for i in range( nLoops ) :

num_in = int( raw_input( 'Enter an Integer : ' ) )

total += num_in

print total

--
Cousin Stanley
Human Being
Phoenix, Arizona

Cousin Stanley
Guest
Posts: n/a

 07-06-2003
hokiegal ...

Another way if you also wish to save the input numbers ...

nLoops = 10

list_nums = []

for i in range( nLoops ) :

this_num = int( raw_input( 'Enter an Integer : ' ) )

list_nums.append( this_num )

total = reduce( int.__add__ , list_nums )

print
print list_nums
print
print total

--
Cousin Stanley
Human Being
Phoenix, Arizona

Guest
Posts: n/a

 07-06-2003
hokiegal99 wrote:
> I don't understand how to use a loop to keep track of user input. Could
> someone show me how to do what the program below does with a loop?
>
> Thnaks!
>
> ----------------------------
> #Write a program that reads 10 numbers from the user and prints out the
> sum of those numbers.
>
> num0 = input("Enter a number: ")
> num1 = input("Enter a number: ")
> num2 = input("Enter a number: ")
> num3 = input("Enter a number: ")
> num4 = input("Enter a number: ")
> num5 = input("Enter a number: ")
> num6 = input("Enter a number: ")
> num7 = input("Enter a number: ")
> num8 = input("Enter a number: ")
> num9 = input("Enter a number: ")
>
> num = num0+num1+num2+num3+num4+num5+num6+num7+num8+num9
>
> print num
> ----------------------------------
>

# If you are want to loop a fixed amount of time, as I understand a way
# would be:
sum = 0
for i in xrange(10):
sum += input("Enter a number: ")
average = sum/10
print average

# I guess however it would be more pythonic, because you do not really
# need that counter, to do something like:
entries=0
sum=0
while entries < 10:
try:
sum += input("%d) Enter a number: " % (entries + 1) )
entries += 1
except:
print "You need to enter 10 values."
print "The average is %d" % (sum)

# And when you need you would want to make a "general" tool out of your
# case...
entries=0
sum=0
try:
while 1:
sum += input("%d) Enter a number: " % (entries + 1) )
entries += 1
except:
if entries == 0:
print "You did not enter any number. Can not make average of
nothing."
else:
print "The average of all %d numbers entered is %d" % (entries,
sum/entries)

=?ISO-8859-1?Q?Gerhard_H=E4ring?=
Guest
Posts: n/a

 07-06-2003
Hi hokiegal99 if that's what you want me to call you,

hokiegal99 wrote:
> I don't understand how to use a loop to keep track of user input. Could
> someone show me how to do what the program below does with a loop?

Your text book or tutorial should show that quite well, but here we go:

>
> Thnaks!
>
> ----------------------------
> #Write a program that reads 10 numbers from the user and prints out the
> sum of those numbers.
>
> num0 = input("Enter a number: ")
> num1 = input("Enter a number: ")
> num2 = input("Enter a number: ")
> num3 = input("Enter a number: ")
> num4 = input("Enter a number: ")
> num5 = input("Enter a number: ")
> num6 = input("Enter a number: ")
> num7 = input("Enter a number: ")
> num8 = input("Enter a number: ")
> num9 = input("Enter a number: ")
>
> num = num0+num1+num2+num3+num4+num5+num6+num7+num8+num9
>
> print num
> ----------------------------------

#v+
sum = 0.0
for i in range(10):
sum += int(raw_input("Enter a number: "))
print sum
#v-

If your prof is any good, (s)he reads this newsgroup as well

-- Gerhard

hokiegal99
Guest
Posts: n/a

 07-06-2003
You guys are great! Thanks for all the examples.

Cousin Stanley wrote:

> hokiegal ...
>
> Another way if you also wish to save the input numbers ...
>
> nLoops = 10
>
> list_nums = []
>
> for i in range( nLoops ) :
>
> this_num = int( raw_input( 'Enter an Integer : ' ) )
>
> list_nums.append( this_num )
>
> total = reduce( int.__add__ , list_nums )
>
> print
> print list_nums
> print
> print total
>

Guest
Posts: n/a

 07-06-2003
> hokiegal99 wrote:
>
>> I don't understand how to use a loop to keep track of user input.
>> Could someone show me how to do what the program below does with a loop?
>>

>
> # If you are want to loop a fixed amount of time, as I understand a way
> # would be:
> sum = 0
> for i in xrange(10):
> sum += input("Enter a number: ")
> average = sum/10
> print average
>

Ok, I just looked up the Reference documentation and
int(raw_input("prompt text")) would be probably better than my suggested
input() - like in the other anwsers you received.

One should maybe note that if the end average calculated should be a
float, then you need to use

sum = 0.0

and should the user entering the data be allowed to use float values you
will probably want to use

float(raw_input("prompt text"))

Regards, Ben.

hokiegal99
Guest
Posts: n/a

 07-07-2003
Perl's motto is "there's more than one way to do it," right? Well, after
reading all of these responses, I think Python could make the same
claim. Thanks again guys!

Bob Gailer wrote:

> Not to neglect the 1-liner:
>
> import operator; reduce(operator.add,[int(raw_input("Number>")) for i in
> range(10)])
>
> Bob Gailer
> http://www.velocityreviews.com/forums/(E-Mail Removed)
> 303 442 2625

Peter Hansen
Guest
Posts: n/a

 07-07-2003
Gerhard Häring wrote:
>
> hokiegal99 wrote:
> > I don't understand how to use a loop to keep track of user input. Could
> > someone show me how to do what the program below does with a loop?

>
> Your text book or tutorial should show that quite well, but here we go:

[snip]
> If your prof is any good, (s)he reads this newsgroup as well

told us "I am a funeral director trying to write a small program that
calculates the number of years, months and days a person has lived by
entering the year, month and day of their birth. ..."

Not homework this time.

-Peter

Christos TZOTZIOY Georgiou
Guest
Posts: n/a

 07-21-2003
On Sun, 06 Jul 2003 22:50:55 -0400, rumours say that Peter Hansen
<(E-Mail Removed)> might have written:

>Gerhard Häring wrote:
>>
>> hokiegal99 wrote:
>> > I don't understand how to use a loop to keep track of user input. Could
>> > someone show me how to do what the program below does with a loop?

>>
>> Your text book or tutorial should show that quite well, but here we go:

>[snip]
>> If your prof is any good, (s)he reads this newsgroup as well

>
>told us "I am a funeral director trying to write a small program that
>calculates the number of years, months and days a person has lived by
>entering the year, month and day of their birth. ..."

This is true. However, doesn't hokiegal99's comment at the start of the
example code:

> #Write a program that reads 10 numbers from the user and prints out the
> sum of those numbers.

seem a little 'textbookish'? Who's the first person of this imperative
sentence, and who's the user? Although it's not improbable that
hokiegal99 is indeed a funeral director having their first contact with
programming using a textbook. I remember that it took me a couple of
days to understand loops (at the age of eleven)...

BTW computers really spoil us... now that I visited the memory lane, I
recall that, having a chemistry exam at the age of seventeen, it took me
a quarter of an hour to solve a generic exercise and ten more minutes to
remember how to do a division by pen and paper (ok, I should take
anxiety into account, but it's still funny
--
TZOTZIOY, I speak England very best,
Microsoft Security Alert: the Matrix began as open source.