0
Question about python3 random number
This is the question: Generate a three digit number and compute the sum of the digits #This is my code: import random randomnum = random.randint(100,999) print (randomnum) value = 0 for x in randomnum: print (x) value += x print ("the num is", randomnum, "the sum is", value) The Error I'm getting is : Traceback (most recent call last): File "<ipython-input-55-0a3f61271835>", line 8, in <module> for x in randomnum: TypeError: 'int' object is not iterable Could someone please help me find my mistake would appreciate it greatly. Thank you in advance!
4 Answers
+ 5
# change:-
for x in randomnum:
print (x)
value += x
# to:-
for x in str(randomnum):
print(x)
value += int(x)
+ 1
I'm new to this but had a similar problem myself, I changed the number into a string then you can treat each digit as a separate item.
+ 1
The "for x in str(randomnum):" converts it to a string so as to make it iterable...
The "value += int(x)" then converts each element (x) back to an int and adds it to "value".
0
Oh amazing ! it worked now. @rodwynejones thank you very much! :)
could you also explain to me please why the randomnum has to be changed to a string?
why couldn't it add the value of zero + the necessary numbers?