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 type a number.")
if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
def dead(why):
print why
exit(0)
1)如果dead
方法的定义低于调用语句,gold_room
方法如何在dead
方法中调用?
2)变量how_much
如何在其范围之外访问?它在缩进块中声明并初始化 -
if "0" in choice or "1" in choice:
how_much = int(choice)
根据我的理解,其范围应在此块中结束。那么在这种情况下如何进一步使用它 - if how_much < 50
?
答案 0 :(得分:1)
没有&#34;死了&#34; Python内置的方法。解释器告诉你它没有被定义的原因是你没有定义它。
Python没有块范围。函数内定义的变量从该点开始可见,直到函数结束。
在第一个问题发生更改后进行编辑只要这些函数在调用时定义,函数的定义就不重要了 EM>。据推测,在定义了两个函数之后,在该模块的末尾有一些代码调用gold_room
。