ex35寫了一個游戲,代碼貼上
from sys import exit
def gold_room():
print "This room is full of gold. How much do you take?"
choice = raw_input("> ")
if "0" in choice or "1" in choice:
how_much = int(choice)
else:
dead("Man, learn to type a number.")
if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
def bear_room():
print "There is a bear here."
print "The bear has g bunch of honey."
print "The fat bear is in front of another door."
print "How are your going to move the bear?"
bear_move = False
while True:
choice = raw_input("> ")
if choice == "take honey":
dead("The bear looks at your then slaps your face off.")
elif choice == "taunt bear" and not bear_move:
print "The bear has moved from the door. You can go through in now."
bear_move = True
elif choice == "taunt bear" and bear_move:
dead("The bear gets pissed off and chews your leg off.")
elif choice == "open door" and bear_move:
gold_room()
else:
print "I got no idea what thet means."
def cthulhu_room():
print "Here you see the great evil Cthulhu."
print "He, it, whatever stares at you and you go insane."
print "Do you flee for your life or eat your head?"
choice = raw_input("> ")
if "flee" in choice:
start()
elif "head" in choice:
dead("Well that waw tasty!")
else:
cthulhu_room()
def dead(why):
print why,"Good job!"
exit(0)
def start():
print "You are in a dark room."
print "There is a door to your right and left."
print "Which one do you take?"
choice = raw_input("> ")
if choice == "left":
bear_room()
elif choice == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
start()
上面有一句代碼有Bug,就是這一句 if "0" in choice or "1" in choice:因?yàn)橥ㄟ^raw_input()接收到的都是字符串類型,并不能直接判斷是否為數(shù)字,我上網(wǎng)搜了一下,找到一個方法:
s.isdigit() 所有字符都是數(shù)字,為真返回 Ture,否則返回 False。
再結(jié)合上面的代碼,這個問題就解決了,原代碼寫的很奇怪