這本書(shū)的上半部分你打印了一些東西,而且調(diào)用了函數(shù),不過(guò)一切都是直線式進(jìn)行的。你的腳本從最上面一行開(kāi)始,一路運(yùn)行到結(jié)束,但其中并沒(méi)有決定程序流向的分支點(diǎn)?,F(xiàn)在你已經(jīng)學(xué)了 if, else, 和 elif ,你就可以開(kāi)始創(chuàng)建包含條件判斷的腳本了。
上一個(gè)腳本中你寫(xiě)了一系列的簡(jiǎn)單提問(wèn)測(cè)試。這節(jié)的腳本中,你將需要向用戶(hù)提問(wèn),依據(jù)用戶(hù)的答案來(lái)做出決定。把腳本寫(xiě)下來(lái),多多鼓搗一陣子,看看它的工作原理是什么。
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!"
|
這里的重點(diǎn)是你可以在“if 語(yǔ)句”內(nèi)部再放一個(gè)“if 語(yǔ)句”。這是一個(gè)很強(qiáng)大的功能,可以用來(lái)創(chuàng)建嵌套(nested)的決定,其中的一個(gè)分支將引向另一個(gè)分支的子分支。
你需要理解 if 語(yǔ)句 包含 if 語(yǔ)句 的概念。做一下加分習(xí)題,這樣你會(huì)確信自己真正理解了它們。
我在玩一個(gè)小冒險(xiǎn)游戲,我玩的水平不怎么好:
$ 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.
為游戲添加新的部分,改變玩家做決定的位置。盡自己的能力擴(kuò)展這個(gè)游戲,不過(guò)別把游戲弄得太怪異了。