Python程序设计案例课堂
上QQ阅读APP看书,第一时间看更新

5.8 大神解惑

小白:用户自定义函数的命名空间是怎么回事?

大神:用户自定义函数拥有自己的命名空间。当用户定义一个函数后,Python会为这个新的函数创建一个属于它自己的局部命名空间。

这个新的局部命名空间内包含该函数所有的参数与变量。因此,当用户在该函数内用到某一个参数或变量时,Python会先搜索该函数的局部命名空间。如果在该局部命名空间内找不到,Python会到全局命名空间内再找一遍。

所谓全局命名空间,就是指该函数所在的模块的命名空间。如果在全局命名空间也找不到要找的参数或是变量时,Python会继续搜索系统的内置命名空间。如果还是找不到,Python会输出一个NameError异常。

小白:如何使用if语句实现数字猜谜游戏?

大神:在if语句中通过使用比较运算符,可以实现数字猜谜游戏。实现的具体代码如下:

        # 该实例为数字猜谜游戏
        number = 6
        guess = 0
        print("数字猜谜游戏!")
        while guess ! = number:
            guess = int(input("请输入你猜的数字:"))

            if guess == number:
              print("恭喜,你猜对了!")
            elif guess < number:
              print("猜的数字小了...")
            elif guess > number:
              print("猜的数字大了...")

保存并运行程序,结果如下:

        数字猜谜游戏!
        请输入你猜的数字:6
        恭喜,你猜对了!

在上述代码中,使用while语句实现循环效果,使用if…elif语句实现多个条件的判断效果,最终实现数字猜谜效果。