零基础入门Python小甲鱼-笔记2

第2章 用Python设计第一个游戏

2.1 第一个小游戏

零基础入门Python-小甲鱼的书的教学会围绕着生动有趣的例子,和通俗易懂的语言表达,使读者能够快乐的学习Python

文字游戏,一个好的开始—

先来看一下这段代码,并试图猜测一下每条语句的作用:

"""--- 第一个小游戏 ---"""
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == 8:
    print("你是小甲鱼心里的蛔虫吗?!")
    print("牛逼,猜中了也没有奖励!")
else:
    print("猜错啦,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦☺")

亲自输入这些代码,你需要做的是:

  • 打开IDLE

  • 选择File->New Window命令(或者你直接按Ctrl +N键,在很多地方这个快捷键都是新建一个文件的意思,学到小操作啦啦啦)

  • 按照上边的格式填入代码

  • 按快捷键Ctrl+S,将源代码保存为名为p2_1.py的文件

  • 输完代码一起来体验一下,F5走起(也可以是选择Run ->Run Module命令)!

我还是喜欢有快捷键的操作,程序执行结果如下:

>>> 
=================== RESTART: F:\零基础入门学习python-小甲鱼\p2_1.py ===================
不妨猜一下小甲鱼现在心里想的是哪个数字4
猜错啦,小甲鱼现在心里想的是8!
游戏结束,不玩啦☺
>>> 

有人说变量呢?声明呢?零基础入门的童鞋应该还不知道什么是变量,然后会继续补充,有些读者还发现这个小程序没有任何大括号,然而在一些编程语言都有大括号表示循环、条件等的作用域,Python是直接使用适当的缩进来表示就可,所以就是学一门编程语言的时候,不要想着其他编程语言,也就是不要吃着碗里,看着锅里

PS.小提示(大影响)
tab按键的使用:

  1. 缩进

  2. IDLE会提供一些建议,例如输入pr 然后按TAB键,会显示所有可能的命令供你参考

下面讲一个初学者容易犯的错误—>为什么还要int(temp),不会是多此一举吧

"""--- 第一个小游戏 ---"""
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
#guess = int(temp)
if temp == 8:
    print("你是小甲鱼心里的蛔虫吗?!")
    print("牛逼,猜中了也没有奖励!")
else:
    print("猜错啦,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦☺")

当你输入的是8的时候,运行的结果如下,你会说奇了怪,什么情况:

=================== RESTART: F:\零基础入门学习python-小甲鱼\p2_1.py ===================
不妨猜一下小甲鱼现在心里想的是哪个数字8
猜错啦,小甲鱼现在心里想的是8!
游戏结束,不玩啦☺
>>> 

如果你不相信我的话,可以自己在IDLE上尝试一下,我现在揭开谜底啦

其实是因为input()返回的值是字符串来的,如果直接跟8比较,那肯定是不相等的啊,学到没,反正我是学到啦

把上面的代码给成这样,type()可以得出那个东西代表的数据类型

"""--- 第一个小游戏 ---"""
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
#guess = int(temp)
if temp == 8:
    print(temp)
    print("你是小甲鱼心里的蛔虫吗?!")
    print("牛逼,猜中了也没有奖励!")
else:
    print(type(temp))
    print("猜错啦,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦☺")

运行结果如下:

=================== RESTART: F:\零基础入门学习python-小甲鱼\p2_1.py ===================
不妨猜一下小甲鱼现在心里想的是哪个数字8
<class 'str'>
猜错啦,小甲鱼现在心里想的是8!
游戏结束,不玩啦☺

2.2 缩进

缩进的严格要求使得Python代码显得非常精简并且有层次,但是在Python里面对待代码缩进要十分小心,没有用好缩进的话,就会像差之毫厘,失之千里,敲黑板啦。

如果在正确的位置输入冒号(:),IDLE会在下一行自动缩进。你不信,可以试一下

这里写图片描述

2.3 BIF

新名词:BIF,一开始我是真的不知道是什么鬼来的,现在我知道啦,BIF就是Built_-in Functions(内置函数)。那什么是内置函数呢?

BIF存在的目的是:方便程序员快速编写脚本程序(脚本就是要代码编写程序速度快快快!)。

Python提供非常多的内置函数,我们不需要理解它的工作原理,只需要直接调用即可。

之前使用到print()就是一个内置函数,功能:”打印到屏幕”,简单来说就是打印/输出。

input()也是一个内置函数,作用:首先input里面的内容会先输出,然后再接收用户输入并将其返回。

Python的变量是不需要事先声明的,直接给一个合法的名字赋值,这个变量就生成了。

PS.小提示(大影响)

在IDlE中输入dir(__builtins__)可以看到Python的提供的内置函数列表

好多啊,看到一脸懵逼,不用担心,后面的笔记会涉及到里面的使用。

>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

help()这个BIF用户显示BIF的功能描述,下面是举个栗子:

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

通过上面两个方法,当自己忘记了一些BIF怎样使用时,使用这两个方法即可。
参考资料:
零基础入门学习Python小甲鱼的书和视频教程

猜你喜欢

转载自blog.csdn.net/xyyojl/article/details/80517825