0

Bugs or improvements

Can you find bugs in my code? Or any improvements? Tyvm! https://sololearn.com/compiler-playground/cuE6D2TpR1sD/?ref=app

19th Jan 2024, 9:29 PM
Emptynew Account
Emptynew Account - avatar
5 Réponses
+ 1
Emptynew Account , I noticed you used exit() without importing sys, which I thought you had to do, so I looked it up. There are two. The one you used is from the site module. The site module is automatically imported every time, and "adds several constants to the built-in namespace." However, it goes on to say that those constants "are useful for the interactive interpreter shell and should not be used in programs." It probably doesn't matter in a small program like this, but I'm guessing it's something to avoid doing in any professional work. site module https://docs.python.org/3/library/constants.html#constants-added-by-the-site-module sys module https://docs.python.org/3/library/sys.html#sys.exit
19th Jan 2024, 11:15 PM
Rain
Rain - avatar
+ 1
Rain Thanks for those comments. I will have a look in my code!
20th Jan 2024, 5:26 AM
Emptynew Account
Emptynew Account - avatar
+ 1
Rain, I had a look at the modules. You are right. I thought of some ways to remove the exit() by using a for loop with a break inside of it. Sadly Sololearn doesn't ask for multiple inputs. I guess my codes in Sololearn must use the exit or return function to terminate loops.
20th Jan 2024, 6:04 AM
Emptynew Account
Emptynew Account - avatar
0
Emptynew Account , I think your program is misnamed. "Prime number checker" implies that it will check if the user's number is prime. But it doesn't do only that. I think it should be named Prime Factorization, since, for most numbers (most numbers are composites), it produces a list of primes whose product is the user's number. Nice work. I would add one thing. Print the user's number too. Since you destroy it, you'll have to make a copy first.
19th Jan 2024, 11:21 PM
Rain
Rain - avatar
0
Emptynew Account , I didn't mean remove exit(). I meant sys.exit() is OK but site.exit() is supposedly not OK, and if you use exit() alone without importing sys, you're using site.exit() because site is automatically imported. (The news was news to me too, but I heed when python.org says "should not be used in programs" even if I don't know the repercussions.) I often use sys.exit(). import sys try: raise ValueError except ValueError: sys.exit() And yeah, it is unfortunate that the playground isn't interactive for most languages. I notice that the Web programs (containing three tabs for HTML CSS JS) can be interactive though.
20th Jan 2024, 3:38 PM
Rain
Rain - avatar