9 years ago
12
So my question is, How does one tell the program to end midway through running?
Haha came up with an even better plan than text post which is then snapped to other tribes! Just use imgur with screenshots of my code, then make a snap of that :P **Edit** Not sure why the title changed, so I changed it back.
Continue Reading http://imgur.com
Join the Discussion
[This comment was removed]
So it would seem the introduction box felt this was too many words :P so I'll put the explaination here.
Ok so I'm using python to write the start of a mock text based rpg game. Just wanted to do the the character creation part. It's a really simple thing I came up with that I felt I could do with what I have learnt so far. All it does is asks you what your name is, what your race is, and what your class is (last two chosen from three options each) and then assigns different stats variables accordingly that could be used later if you wanted.
As you’ll see I have a file for the actual program and a file, called ch_creation, which I created to keep all the functions I use because it was all getting quite messy and figured it would be neater to just call the functions when needed.
At the moment it does exactly what I want it to do, print("YAY!, go team Wenjarich!"), as long as the person using it chooses the options they are given to choose from (i.e. Race and Class) as you can see.
So I figured that if the 'player' answers something stupid then all I need to do is have a something along the lines of..
print( " \'Why do you waste my time like this? \' ... Stranger walks off")
print( "You lose!")
Then something to tell the program to end. (THIS IS WHAT I CAN”T WORK OUT!!)
For the life of me though I can't find a solution online that will do this for me even though I’m going to look really stupid because I feel it’s probably a simple command.
I was at first going to have them “simply” answer the question again but realized that involes for/while loops which I haven’t yet learnt.
You can use sys.exit() or just exit(). The first one is the "right" way to do it, but the second one also works for the reference implementation of python.
I tried sys.exit() before, and just tried it again and got the following error,
Traceback (most recent call last):
File "C:\Python34\Programs\Practice\Silly Test Game.py", line 23, in <module>
race = ChCreation.chkrace(r)
File "C:\Python34\Programs\Practice\ChCreation.py", line 12, in chkrace
sys.exit()
NameError: name 'sys' is not defined
but I also now just tried exit() on it's own and it worked :)
Thanks for the help! I know it was a small error to fix, but it'ts cool to me that it now works the way I want it to. I can now move on content that I achieved what I wanted to. :P
Plus I may just come back and keep adding onto it as I go.
Sounds like you got it working, but if you are curious as to why "sys.exit()" doesn't work, it sounds like you haven't imported the sys module. To do this simply place "import sys" at the top of the file. Hope this helps.
Oh I see, thanks :)
You pretty much always need to import things first : https://xkcd.com/353/ :D
I'm extremely tempted to try typing import antigravity into my code now :D
Actually, do try it. It links you to that comic.
Also try
That should be in every tutorial even before the hello world.
Tutorials are often lacking. For instance, none seems to deal virtual environments, one of the most important concepts of python.
That's probably because before python 3.3 virtual environments were a third party solution and not part of the standard library. When we finally get good python 3 tutorials maybe they'll include venv.