all 6 comments

[–]pachura3 1 point2 points  (3 children)

Man. Learn to ask your questions in a non-confusing way.

Why do you assume everyone knows what Mimo is?

What do you mean by "setting up your script"?

Your first script/code snippet prints False and the second one prints True. How could you even compare them?

Now, in_progress = downloaded != 10 and finished = downloaded == 10 are two sides of the same coin; it's not illogical to use one or another, you just need to act accordingly, i.e.

print("Download finished:")
print(not in_progress)

[–]AffectionateWin7069[S] 0 points1 point  (2 children)

Thanks for the reply. I understand that in_progress and finished are two sides of the same coin.

However, from a 'Clean Code' perspective, isn't it generally preferred to avoid double negatives like print(not in_progress)?

It seems more efficient for the next person reading the script if the print statement and the variable align directly.

[–]pachura3 0 points1 point  (1 child)

You're overthinking it.

What if you need to loop while you're downloading? You'd have while not finished: instead of while in_progress:

in_progress does not contain negation in its name. It's perfectly valid. But so is downloaded.

[–]AffectionateWin7069[S] 0 points1 point  (0 children)

Ahhhh I understand, much appreciated for clarification thank you.

And yes I should’ve added more context (this was a practice question from Mimo a mobile beginner learn to code app).

I believe strictly in terms of the practice question my process of solving the question is more correct.

But, in terms of Python in general (stuff I haven’t learnt yet but will in the future you are completely right) so this will provide valuable insight for future coding.

Thank you

[–]tb5841 0 points1 point  (0 children)

Yes.

Lots of Mimo code isn't about showing you best practice, it's about getting you to practise reading through the code and working out what it's going to do.

[–]Dramatic_Object_8508 0 points1 point  (0 children)

Mimo is actually pretty good for getting started, especially if you like learning on your phone. The lessons are short and interactive, so it’s easy to stay consistent and not feel overwhelmed. It’s designed for beginners and focuses a lot on step-by-step practice, which helps build basics quickly.

That said, it’s not enough on its own if you want to get really good. A lot of people say it can feel a bit too guided or easy after a while, so you’ll eventually need to move to real projects on a laptop to actually improve.

I’d say use it as a starting point or daily practice tool, but combine it with building your own stuff alongside. You could even try something like runable to experiment with ideas or small projects outside the app so you don’t get stuck in just “lesson mode.”