Restarting a program

G

Geoldr

Hello all, I have written a simple program, and at the end of it,
instead of it closing I would like it to restart from the beggining.
Is there a way to do this? Put my code into a class function, or
something?
I guess I could do a while loop, but I think if there is a way to run
my code if it's in a class would be an easier option. I can't seem to
find many guides online but maybe I have not been looking in the right
places.

Anybody have any ideas?
 
M

Mike Driscoll

Hello all, I have written a simple program, and at the end of it,
instead of it closing I would like it to restart from the beggining.
Is there a way to do this? Put my code into a class function, or
something?
I guess I could do a while loop, but I think if there is a way to run
my code if it's in a class would be an easier option. I can't seem to
find many guides online but maybe I have not been looking in the right
places.

Anybody have any ideas?

Putting your code in a function or class is probably the way to go.
When I was doing C++, we'd just use a while loop for simple stuff,
though.

It really shouldn't be all that hard to tell the code to call up the
beginning of the program again.

Mike
 
G

Geoldr

Putting your code in a function or class is probably the way to go.
When I was doing C++, we'd just use a while loop for simple stuff,
though.

It really shouldn't be all that hard to tell the code to call up the
beginning of the program again.

Mike

That's what I am trying to figure out, but it doesn't seem to work. Do
you have any example code of classes/functions that work for you?
 
M

Mike Driscoll

That's what I am trying to figure out, but it doesn't seem to work. Do
you have any example code of classes/functions that work for you?

No...but I through some concept code together that does the basics:

<code>

def repeater():

for i in range(10):
print i

def main():
ret = 'Y'
while 1:
if ret.upper() == 'Y':
repeater()
else:
print 'Program finished...goodbye!'
break
ret = raw_input('Do you want to continue? (Y/N)')

if __name__ == '__main__':
main()

</code>

I found that using the while was the easiest to create on short
notice. You could probably do it with recursion too, but I'm not
especially good at that.

Another idea is to have some kind of sentinel value that both
functions can access and use it somehow to tell whether or not to
repeat.

Hope that helps you get going.

Mike
 
G

Geoldr

No...but I through some concept code together that does the basics:

<code>

def repeater():

    for i in range(10):
        print i

def main():
    ret = 'Y'
    while 1:
        if ret.upper() == 'Y':
            repeater()
        else:
            print 'Program finished...goodbye!'
            break
        ret = raw_input('Do you want to continue? (Y/N)')

if __name__ == '__main__':
    main()

</code>

I found that using the while was the easiest to create on short
notice. You could probably do it with recursion too, but I'm not
especially good at that.

Another idea is to have some kind of sentinel value that both
functions can access and use it somehow to tell whether or not to
repeat.

Hope that helps you get going.

Mike

Thank you, the "def" option works the best.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top