第002讲:用python设计第一个游戏

一 代码部分

1 代码

  1. print("----------我爱鱼C工作室----------")
  2. temp = input("不防猜一下小甲鱼现在心里想的是那个数字:")
  3. guess = int(temp)
  4. if guess == 8:
  5.     print("我草,你是小甲鱼心里的蛔虫吗?!")
  6.     print("哼,猜中了也没有奖励!")
  7. else:
  8.     print("猜错啦,小甲鱼现在心里想的是8!")
  9. print("游戏结束,不玩啦^_^")

2 编辑代码并运行过程中出现的错误

  • else(编辑代码过程中else后面没有加冒号),系统报错:
  • 将guess = int(temp)语句编辑成guess = input(temp)语句,程序出现逻辑错误:

 3 注意事项

  • 缩进在python语言里面很重要,缩进格式错误,代码运行结果发生根本性改变(C语言里面是用{}来表示函数内部的内容的,python只能用缩进识别)
  • python语言里面没有变量声明的部分,变量在赋值的过程中直接被定义(C语言里面要先进行变量声明即定义变量之后才可以直接被赋值)
  • if else语句后面必须有冒号,没有冒号会导致程序无法正常运行
  • python里面的变量在定义的时候没有分类型,全部是字符串变量,可用类型转换将其转换成其他类型的变量

4 BIF = Built-in funcations  内置函数:为了方便程序员编写程序

  • input("   ":):将双引号里面的内容打印出来并且输入程序需要的数据
  • int:将里面的任意类型的变量转换成整型变量
  • print():打印出程序的运行结果
  • 注意:命令dir(__builtins__)用来查看python中所有的内置函数,列表中纯小写的关键字代表内置函数
  •            命令help(关键字):帮助我们了解该关键字的用法即主要内容

5 内置函数和标准库函数的区别

  • Python 解释器也是一个程序,它给用户提供了一些常用功能,并给它们起了独一无二的名字,这些常用功能就是内置函数。Python 解释器启动以后,内置函数也生效了,可以直接拿来使用。
  • Python 标准库相当于解释器的外部扩展,它并不会随着解释器的启动而启动,要想使用这些外部扩展,必须提前导入。Python 标准库非常庞大,包含了很多模块,要想使用某个函数,必须提前导入对应的模块,否则函数是无效的。
  • 内置函数是解释器的一部分,它随着解释器的启动而生效;标准库函数是解释器的外部扩展,导入模块以后才能生效。一般来说,内置函数的执行效率要高于标准库函数。
  • Python 解释器一旦启动,所有的内置函数都生效了;而导入标准库的某个模块,只是该模块下的函数生效,并不是所有的标准库函数都生效。
  • 内置函数的数量必须被严格控制,否则 Python 解释器会变得庞大和臃肿。一般来说,只有那些使用频繁或者和语言本身绑定比较紧密的函数,才会被提升为内置函数。

二 课后作业

(一)测试题答案

0. 什么是BIF?

BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)

 

1. 用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?

在 Python 或 IDLE 中,输入 dir(__builtins__) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个

 

2. 在 Python 看来:'FishC' 和 'fishc' 一样吗?

不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。

 

3. 在小甲鱼看来,Python 中什么是最重要的?你赞同吗?

缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱......C语言不是有国际乱码大赛嘛......)。

所以在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)。

如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进!

 

4. 这节课的例子中出现了“=”和“==”,他们表示不同的含义,你在编程的过程中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢?

C语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!

小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心的 BUG ,并且这类 BUG 杀伤力都巨大!

 

5. 你听说过“拼接”这个词吗?

在一些编程语言,我们可以将两个字符串“相加”在一起,如:'I' + 'Love' + 'FishC' 会得到 'ILoveFishC',在 Python 里,这种做法叫做拼接字符串。

 

(二) 动动手答案

0. 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”

  1. name = input("请输入您的姓名:")
  2. print('你好,' + name + '!') ————该语句还可写为print(f"您好,{name}!")


1. 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”

  1. temp = input("请输入1到100之间的数字:")
  2. num = int(temp)
  3. if 1 <= num <= 100:
  4.     print('你妹好漂亮^_^')
  5. else:
  6.     print('你大爷好丑T_T')
posted @ 2020-06-25 15:18  洛兰123  阅读(376)  评论(0编辑  收藏  举报