By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,402 Members | 1,047 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,402 IT Pros & Developers. It's quick & easy.

Restarting a program

P: n/a
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?
Jun 27 '08 #1
Share this Question
Share on Google+
4 Replies


P: n/a
On May 22, 10:59*am, Geoldr <geo...@gmail.comwrote:
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
Jun 27 '08 #2

P: n/a
On May 22, 10:07*am, Mike Driscoll <kyoso...@gmail.comwrote:
On May 22, 10:59*am, Geoldr <geo...@gmail.comwrote:
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
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?
Jun 27 '08 #3

P: n/a
On May 22, 1:38*pm, Geoldr <geo...@gmail.comwrote:
On May 22, 10:07*am, Mike Driscoll <kyoso...@gmail.comwrote:
On May 22, 10:59*am, Geoldr <geo...@gmail.comwrote:
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

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
Jun 27 '08 #4

P: n/a
On May 22, 11:58*am, Mike Driscoll <kyoso...@gmail.comwrote:
On May 22, 1:38*pm, Geoldr <geo...@gmail.comwrote:
On May 22, 10:07*am, Mike Driscoll <kyoso...@gmail.comwrote:
On May 22, 10:59*am, Geoldr <geo...@gmail.comwrote:
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
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
Thank you, the "def" option works the best.
Jun 27 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.