用python设计第一个游戏
第一个游戏:
新建项目做第一个文字游戏
游戏代码:
print('---------我爱鱼C工作室----------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("我草,你是小甲鱼心里的蛔虫嘛?!")
print("哼,猜中了也没有奖励!")
else:
print("猜错了,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦")
两种结果:
BIF
BIF == Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入。
在 Python 或 IDLE 中,输入 dir(__builtins__)
可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)
其中只有纯小写的是 BIF。如果想具体查看某个BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。
课后习题
-
什么是BIF?
BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入。 -
用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?
数了数68个BIF。 -
在 Python 看来:‘FishC’ 和 'fishc’一样吗?
不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。 -
在小甲鱼看来,Python 中什么是最重要的?你赞同吗?
缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱…C语言不是有国际乱码大赛嘛…)。
所以在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)。
如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进! -
这节课的例子中出现了“=”和“== ”,他们表示不同的含义,你在编程的过程中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢?
C语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心的 BUG ,并且这类 BUG 杀伤力都巨大! -
你听说过“拼接”这个词吗?
在一些编程语言,我们可以将两个字符串“相加”在一起,如:‘I’ + ‘Love’ + ‘FishC’ 会得到 ‘ILoveFishC’,在 Python 里,这种做法叫做拼接字符串。
编程题
- 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
源码:
name=input("请输入你的姓名:")
print('你好'+name+'!!!')
结果
- 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
第一种
temp=input("请输入一个1-100的数:")
num=int(temp)
if 1 <= num <= 100:
print('你妹好漂亮^-^')
else:
print('你大爷好丑T-T')
第二种
num = input("请输入1到100之间的数字:")
while True:
if not num.isdigit():
print("输入不合法,请重新输入数字:",end='')
num = input()
else:
num = int(num)
if num > 100:
print("你大爷好丑")
else:
print("你妹好漂亮")
break
- 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
>>>str = r'C:\Program Files\FishC\Good''\\'