這本書的上半部分你打印了一些東西,而且調(diào)用了函數(shù),不過一切都是直線式進行的。你的腳本從最上面一行開始,一路運行到結(jié)束,但其中并沒有決定程序流向的分支點?,F(xiàn)在你已經(jīng)學(xué)了 if, else, 和 elif ,你就可以開始創(chuàng)建包含條件判斷的腳本了。
上一個腳本中你寫了一系列的簡單提問測試。這節(jié)的腳本中,你將需要向用戶提問,依據(jù)用戶的答案來做出決定。把腳本寫下來,多多鼓搗一陣子,看看它的工作原理是什么。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | print "You enter a dark room with two doors. Do you go through door #1 or door #2?"
door = raw_input("> ")
if door == "1":
print "There's a giant bear here eating a cheese cake. What do you do?"
print "1. Take the cake."
print "2. Scream at the bear."
bear = raw_input("> ")
if bear == "1":
print "The bear eats your face off. Good job!"
elif bear == "2":
print "The bear eats your legs off. Good job!"
else:
print "Well, doing %s is probably better. Bear runs away." % bear
elif door == "2":
print "You stare into the endless abyss at Cthulhu's retina."
print "1. Blueberries."
print "2. Yellow jacket clothespins."
print "3. Understanding revolvers yelling melodies."
insanity = raw_input("> ")
if insanity == "1" or insanity == "2":
print "Your body survives powered by a mind of jello. Good job!"
else:
print "The insanity rots your eyes into a pool of muck. Good job!"
else:
print "You stumble around and fall on a knife and die. Good job!"
|
這里的重點是你可以在“if 語句”內(nèi)部再放一個“if 語句”。這是一個很強大的功能,可以用來創(chuàng)建嵌套(nested)的決定,其中的一個分支將引向另一個分支的子分支。
你需要理解 if 語句 包含 if 語句 的概念。做一下加分習(xí)題,這樣你會確信自己真正理解了它們。
我在玩一個小冒險游戲,我玩的水平不怎么好:
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 1
There's a giant bear here eating a cheese cake. What do you do?
1. Take the cake.
2. Scream at the bear.
> 2
The bear eats your legs off. Good job!
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 1
There's a giant bear here eating a cheese cake. What do you do?
1. Take the cake.
2. Scream at the bear.
> 1
The bear eats your face off. Good job!
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 2
You stare into the endless abyss at Cthuhlu's retina.
1. Blueberries.
2. Yellow jacket clothespins.
3. Understanding revolvers yelling melodies.
> 1
Your body survives powered by a mind of jello. Good job!
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 2
You stare into the endless abyss at Cthuhlu's retina.
1. Blueberries.
2. Yellow jacket clothespins.
3. Understanding revolvers yelling melodies.
> 3
The insanity rots your eyes into a pool of muck. Good job!
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> stuff
You stumble around and fall on a knife and die. Good job!
$ python ex31.py
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 1
There's a giant bear here eating a cheese cake. What do you do?
1. Take the cake.
2. Scream at the bear.
> apples
Well, doing apples is probably better. Bear runs away.
為游戲添加新的部分,改變玩家做決定的位置。盡自己的能力擴展這個游戲,不過別把游戲弄得太怪異了。