20170928习题

ex36

#分支和函数
from sys import exit #导入system模块中的exit函数

def gold_room(): #定义金子房间的函数
print("this room is full of gold,how much do you take?")
next = input(">") #输入内容

# if "0" in next or "1" in next:
# how_much = int(next)

if int(next) >= 0: #改进后判断输入是否为数值
how_much = int(next)
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("this 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 money":
dead("the bear looks at you then slaps 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 chew your leg off.")
elif next =="open the door" and bear_moved:
gold_room()
else:
print("i got no idea what the means.")
def cthulhu_room(): #定义恶魔房间的函数
print("here you see the great evil leftcthulhu.")
print("he,it,whatever stares at you and you go insane.")
print("do you flee for your life or eat your life.")

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()
-----------------------------------------------------------------------
ex.39
#列表的操作

ten_things = "apples oranges crows telephone light sugar"
print("wait,there is not 10 things in that list,let's fix it.")

stuff = ten_things.split(" ") #split为切割列表指定内容
more_stuff = ["day","night","song","frisbee","corn","banana","girl","boy"]

while len(stuff) != 10: #len为计算列表内容的长度
next_one = more_stuff.pop() #pop为取得列表内某一内容,不指定参数时,默认取得最后一个
print("adding",next_one)
stuff.append(next_one) #append为列表内增加指定内容
print("there is %d items now" %len(stuff))

print("there we go:",stuff)
print("let's do something with stuff.")

print(stuff[1]) #stuff[1]为列表内索引值为1的内容
print(stuff[-1]) #stuff[-1]为列表内索引值为-1的内容,就是从尾部数第一的
print(stuff.pop())
print(' '.join(stuff))
print('#'.join(stuff[3:5])) #join向列表内指定位置增加指定内容
------------------------------------------------------------------------------------------
ex40
#字典、可爱的字典

cities = {'ca':'san francisco','mi':'detroit','fl':'jacksonville'}
cities['ny'] = 'new york'
cities['or'] = 'portland'

def find_city(themap,state): #定义一个函数,参数是themap和state
if state in themap: #判断,如果state在themap里,返回一个themap值
return themap[state]
else : #否则,返回没找到
return "not found"
#ok,pay attention!
cities['_find'] = find_city #向字典内增加一个键值对,键是_find,值是[find_city]函数
while True:
print("state?(enter to quit)")
state = input('>')
if not state :break
#this line is the most important ever!study!
city_found = cities['_find'](cities,state) #调用函数,find_city(cities,state),返回states对应的city,赋值给变量
print(city_found)
---------------------------------------------------------------------------------------------------------------------
2017-09-28 22:38:30
posted @ 2017-09-28 22:39  laihefei  阅读(221)  评论(0编辑  收藏  举报