Exercise 35python
代码git
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 trpe 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 a bunch of honey." print "The fat bear is in front of another door." print "How are you going to move the bear?" bear_moved = False while True: choice = raw_input("> ") if choice == "take honey": dead("The bear looks at you then slaps your face off.") elif choice == "taunt bear" and not bear_moved: print "The bear has moved from the door. You can go through it now." bear_moved = True elif choice == "taunt bear" and bear_moved: dead("The bear gets pissed off and chews your leg off.") elif choice == "open door" and bear_moved: gold_room() else: print "I got no idea what that 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 was 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()
输出ide
Notes:函数
①exit(0)中断程序oop
②判断输入的是不是数字能够用字符串的isdigit()方法idea
>>> "123".isdigit() True >>> "abc".isdigit() False
Exercise 36调试
Notes:code
①If语句训练法则对象
每个if语句,必须包含一个elseci
若是一个else是没有意义、不该该被执行的,那么使用die函数来警醒你
尽可能只保持一层的if。尽管if语句能够嵌套,但尽可能不要嵌套if,使用函数代替
将if语句块看成段落。段前、段后留空白行
布尔表达式应该很简单。若是太复杂,将运算事先赋值给变量,并给变量取个好名字
②循环法则
只有在指望循环永不中止时使用while-loop,其余状况下,尤为是循环的对象数量固定或者有限的状况下,使用for-loop循环
③Debugging的技巧
善用print,将关键环节的关键变量打印出来,检查哪里是否出错
边写脚本,边运行,边调试