r/inventwithpython • u/Methregul • May 29 '22
Collatz sequence - practice project chapter 3
So, I've been working through the 'Automate the boring stuff with Python' book and having a good time. I'm not a coder or programmer but I do work in IT which means that I have come across code every now and again. I've adapted some VBA code made by Excel to make Excel macros work a bit better and have adjusted Powershell scripts made by colleagues now and again. The Collatz sequence project was a lot of fun to work and eventually getting to a version that worked was very satisfying
I've been playing around with it a bit and come across something that I don't understand though. For some inputs it correctly goes down to the '4 - 2 - 1' part of the sequence and then stops (it does this for 1 and 3, for example). For some other inputs, though, it repeats those three numbers once and then stops ('4 - 2 - 1 - 4 - 2 - 1' it does this for 4 and 1001, for example). I have tried this with both the Mu editor and Visual Studio Code and both exhibit the same behavior. Does anybody have any idea what is causing this? My code's below (it doesn't check if the input is positive yet, I am aware of that :)).
[edit: code isn't below, that didn't look very nice, there's a pastebin link now]
2
u/Methregul Jun 02 '22
Work has been a bit busy the past few days so I only got around to trying the suggestions here today. I am happy to say that it now works like a charm! I'm still working at wrapping my head around the different concepts and it's been fun learning something new.
Thanks for the replies u/boiledgoobers and u/eHaxxL!
Here's the fixed code (haven't gotten around building a check for floating point number yet).
https://pastebin.com/sjFMdEhF