Ask coding questions

← Back to all posts
Stop python code with function?
EricBromstead (12)

Hello Again, This time I was wondering what function I could use to stop the repl.it python program, I have tried exit() quit() sys.exit() and they stop the code from continuing but don't stop the repl.it from running, any way to fix this?

Answered by JoshDaBosh (77) [earned 5 cycles]
View Answer
Commentshotnewtop
JoshDaBosh (77)

if you've learned about user defined functions, you could put all your code into function main() and call it. Whenever you need it to stop running, you would simply just put the statement return in your code.
If you need more help, please link your repl. ^^

EricBromstead (12)

@JoshDaBosh Ok this is what I was thinking but I don't want to have to put a tab on every line of main code... but if this is the only way so be it, also was scrolling through the ask section and basically, all my questions are in like the top 50... So From now on before I post! Look for it in repl talk!

JoshDaBosh (77)

@EricBromstead nice.
quick type (hopefully gets to you before you do it manually) - if you want to indent something in python simply highlight the region and press "tab" or do "command"(or ctrl)+"}".

If you want to unindent something then do "command"(or "ctrl")+"{".

artr (0)

@JoshDaBosh im trying to make my repl go back to the start after an answer, do you have any ideas, would be happy to give you access

timmy_i_chen (1037)

sys.exit() will work if it's in project mode (more than one .py file)
https://repl.it/@timmy_i_chen/sys-exit

emotionbot (5)

@timmy_i_chen is there a way to restart it instead of just exiting it?

timmy_i_chen (1037)

@emotionbot Not without throwing it in a loop :(

CoolqB (122)

AFAIK there isn't a function that does this, however there are a few work-arounds.
Through my testing, there are a few things that stop a repl. Either if it gets to the EOF, or an error is raised.
You can mimic either of these.

If you want to get to the end of the program easily, there are two ways I've found:
First, you could wrap your entire program into a function, and return from the function when you want to exit.
Second, you could put your entire program into a try except clause and raise a custom Stop exception:

class StopException(Exception):
        pass

try:
	while True:
		raise StopException
except StopException:
	pass

Alternatively, you could just raise an error like:
raise Exception('Stop program')
however this will create a traceback, which mightn't look pretty :/

RaphaelSpoerri (0)

I had the same problem; Not even raise SystemExit() works.