《 笨方法学 Python 》_ 习题 35 - 37

习题 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
• %%

操作符

• +
• -
• *
• **
• /
• //
• %
• <
• >
• <=
• >=
• ==
• !=
• <>
• ( )
• [ ]
• { }
• @
• ,
• :
• .
• =
• ;
• +=
• -=
• *=
• /=
• //=
• %=
• **=

猜你喜欢

转载自blog.csdn.net/yz19930510/article/details/80554375