My last thread closed due to inactivity.
I took a week off from this because it was so discouraging for such an apparently simple exercise to be so baffling.
From my last thread:
I tried following that advice:
def digit_sum(n): sum_n = 0 str_n = str(n) for x in str_n: int_x = int(x) int_x += sum_n print sum_n print digit_sum(1234) #str_n = "1234" #int_n = 1234
…and at least I stopped getting that “line 5, can’t assign to function call” error, but now I get:
0 None 0 0
and at the bottom, it says:
Your function fails on digit_sum(434). It returns None when it should return 11.
I feel completely lost. How is this one so hard if everybody thinks it’s so simple? Ionatan suggested I didn’t need any technical help–that I already know everything I need to know to do this, but I don’t have a single thought in my head that points me in any direction (let alone the right one).
Update: I broke down and clicked the “solution” button and–what is this?
def digit_sum(x): total = 0 while x > 0: total += x % 10 x = x // 10 print x return total
This… what? I mean–I can’t even–I wasn’t even a tiny bit close. I’m over here assigning variables and switching things back and forth from integers to strings (for reasons I don’t understand) and the solution is over here using greater-than and modulo and this double-slash thing, whatever that is. It looks like they said a thing equals itself divided by ten? What?
Am I exceptionally bad at this? Do other people struggle this much?
I’d still like to solve this exercise before I proceed. Seeing the solution only made me feel more lost. Any advice would be appreciated.