Vidyuth
Vidyuth

Reputation: 35

How to take a user input and apply in 'for’ loop in Python?

I'm a beginner to Python.
I'm trying to take an input from the user and use it in a for loop. But it doesn't work. I also tried to use range function but it also did't work!
Is there any other way to do it?

This is the Code:

numbers = int(input('10 numbers: '))
sum_of_all_number = 0
result = ''
for each_number in numbers:
    sum_of_all_number += each_number
    result = sum_of_all_number / 10
print(f'The average is {result}')

output:

10 numbers: 1234567890
Traceback (most recent call last):
  File "C:\Users\admin\Documents\Python\school project duplii.py", line 4, in <module>
    for each_number in numbers:
TypeError: 'int' object is not iterable

Upvotes: 0

Views: 744

Answers (3)

Sven Eberth
Sven Eberth

Reputation: 3115

To fix your code without changing the logic behind do this:

numbers = input('10 numbers: ')
sum_of_all_number = 0
result = ''
for each_number in numbers:
    sum_of_all_number += int(each_number)
    result = sum_of_all_number / 10
print(f'The average is {result}')

Output

10 numbers: 1234567890
The average is 4.5

Of course the result/average must not be inside the loop, so do simply:

numbers = input('10 numbers: ')
sum_of_all_number = 0
for each_number in numbers:
    sum_of_all_number += int(each_number)
result = sum_of_all_number / 10
print(f'The average is {result}')

Upvotes: 1

Aakash Thapa
Aakash Thapa

Reputation: 74

I don't know what you want to do. But I think this is what you want to accomplish.

sum_of_all_number = 0
result = 0
for each_number in range(10):
    numbers = int(input("ENter any Number: "))
    sum_of_all_number += number

result = sum_of_all_number / 10
print(f'The average is {result}')

Upvotes: 0

Prakash Dahal
Prakash Dahal

Reputation: 4875

Use this:

numbers = int(input('10 numbers: '))
sum_of_all_number = 0
result = 0
count = 0
for each_number in range(numbers):
    sum_of_all_number += each_number
    count += 1
result = sum_of_all_number / count
print(f'The average is {result}')

Upvotes: 0

Related Questions