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,將關鍵環節的關鍵變量打印出來,檢查哪裏是否出錯
邊寫腳本,邊運行,邊調試