习题 35:分支和函数
from sys import exit def gold_room(): print("This room if full of gold. How much do you take?") next = input("> ") if "0" in next or "1" in next: how_much = int(next) else: dead("Man, learn to type a number.") if how_much < 50: print("Ncie, 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: next = input("> ") if next == "take honey": dead("The bear looks at you then salps your face off.") elif next == "taunt bear" and not bear_moved: print("The bear has moved from the door. You can go through it now.") bear_moved = True elif next == "taunt bear" and bear_moved: dead("The bear gets pissed off and chews your leg off.") elif next == "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?") next = input("> ") if "flee" in next: start() elif "head" in next: 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?") next = input("> ") if next == "left": bear_room() elif next == "right": cthulhu_room() else: dead("You stumble around the room until you starve.") start()
exit(0) 可以中断某个程序,其中的数字参数则用来表示程序是否是遇到错误而中断的。exit(1) 表示发生了错误,exit(0)表示程序是正常退出的。
习题 36:设计和调试
习题 37:复习各种符号
关键字
• and • del • from • not • while • as • elif • global • or • with • assert • else • if • pass • yield • break • except • import • print • class • exec • in • raise • continue • finally • is • return • def • for • lambda • try
数据类型
• True • False • None • strings • numbers • floats • lists
字符串转义序列
• \\ • \' • \" • \a • \b • \f • \n • \r • \t • \v
字符串格式化
• %d • %i • %o • %u • %x • %X • %e • %E • %f • %F • %g • %G • %c • %r • %s • %%
操作符
• + • - • * • ** • / • // • % • < • > • <= • >= • == • != • <> • ( ) • [ ] • { } • @ • , • : • . • = • ; • += • -= • *= • /= • //= • %= • **=