Python是一种通用的编程措辞,可以用于创建桌面运用程序、3D图形、视频游戏,乃至是网站。它是一种很棒的第一编程措辞,由于它很随意马虎学习,而且比繁芜的措辞(如C、C++或Java)更大略。Python的强大和健壮足以创建高等运用程序,而且险些在所有利用打算机的行业中都在利用它。这使得Python成为老少咸宜的措辞,无论您是否有编程履历。
安装Python
在学习Python之前,您可能须要安装它。
1)Linux:如果您利用Linux,则已经包含Python,但是请确保您具有Python 3。要检讨安装的版本,请打开一个终端窗口,然后键入:
python3 -V
如果找不到该命令,则须要从程序包管理器中安装Python 3。
2)MacOS:如果你利用的是Mac,按照上面的Linux操作系统解释来看看你是否安装了Python 3。MacOS没有内置的包管理器,以是如果没有找到python3,就从python.org/downloads/mac-osx安装它。虽然macOS已经安装了python2,但是您该当学习python3。
3)Windows:微软Windows目前不支持Python。从python.org/downloads/windows安装它。确保在安装引导中选择Add Python to PATH。
运行IDE
要利用Python编写程序,您真正须要的只是一个文本编辑器,但是拥有集成开拓环境(IDE)会很方便。IDE将文本编辑器与一些友好且有用的Python功能集成在一起。IDLE 3和NINJA-IDE是要考虑的两个选项。
IDLE 3
Python带有一个称为IDLE的基本IDE。
它具有关键字突出显示以帮助检测输入缺点,并具有“运行”按钮以快速,轻松地测试代码。要利用它:
在Linux或macOS上,启动终端窗口并键入idle3。
在Windows上,从“开始”菜单启动Python 3。
1)如果在“开始”菜单中没有看到Python,请在“开始”菜单中键入cmd来启动Windows命令提示符,然后键入C:\Windows\py.exe。
2)如果这样不起浸染,请考试测验重新安装Python。确保在安装引导中选择“将Python添加到PATH”。请参阅docs.python.org/3/using/windows.html以得到详细解释。
3)如果还是弗成,那就利用Linux。它是免费的,只要你把你的Python文件保存到u盘,你乃至不须要安装它来利用它。
Ninja-IDE
Ninja-IDE是出色的Python IDE。它具有关键字突出显示功能,可帮助检测拼写缺点,引号和括号是否完全,从而避免语法缺点,行号(调试时很有用),缩进标记以及“运行”按钮来快速轻松地测试代码。
要利用它:
1)安装Ninja-IDE。如果您利用的是Linux,最大略的方法便是利用软件包管理器;否则,请从NINJA-IDE的网站下载精确的安装程序版本。
2)启动Ninja-IDE。
3)转到“Edit”菜单,然后选择“Preferences”。
4)在“Preferences”窗口中,单击“Execution”选项卡。
5)在“ Execution”选项卡中,将python变动为python3。
见告Python要做什么
关键字(Keywords)见告Python您想要它做什么。在“IDLE”或“Ninja”中,转到“File”菜单并创建一个新文件。Ninja用户:不要创建新项目,而要创建一个新文件。
在新的空文件中,将其键入IDLE或Ninja:
print("Hello world.")
1)如果利用的是IDLE,请转到“Run”菜单,然后选择“Run module”选项。
2)如果利用的是Ninja,请单击左侧按钮栏中的“Run File”按钮。
关键字print见告Python打印出您在括号和引号中输入的所有文本。
但这并不令人愉快。在其核心,Python只能访问基本的关键字,如print、help、基本数学函数等。
利用import关键字可以加载更多关键字。在IDLE或Ninja中启动一个新文件,并将其命名为pen.py。
警告:请勿调用文件turtle.py,由于turtle.py是包含您要掌握的turtle程序的文件的名称。命名文件turtle.py会使Python感到困惑,由于它会认为您想导入自己的文件。
将此代码键入您的文件,然后运行它:
import turtle
Turtle是一个有趣的模块。将此添加到您的文件:
turtle.begin_fill()turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.end_fill()
看看您可以利用turtle模块绘制哪些形状。
要打消乌龟绘图区域,请利用turtle.clear()关键字。您认为关键字turtle.color("blue")有什么用?
考试测验更繁芜的代码:
import turtle as timport timet.color("blue")t.begin_fill()counter=0while counter < 4: t.forward(100) t.left(90) counter = counter+1t.end_fill()time.sleep(2)
一旦您运行了您的脚本,就到了探索更好的模块的时候了。
通过制作游戏学习Python
要理解更多关于Python如何事情的知识,并为利用图形进行更高等的编程做准备,让我们将重点放在游戏逻辑上。在本教程中,我们还将理解一些关于打算机程序是如何通过创建一个基于文本的游戏来构建的,在这个游戏中,打算机和玩家掷一个虚拟骰子,掷得最高的一方得胜。
方案游戏
在编写代码之前,主要的是要考虑要编写什么。许多程序员在开始编写代码之前编写大略的文档,因此他们有一个编程目标。如果您随游戏一起供应了文档,则骰子程序的外不雅观如下:
1)开始掷骰子游戏,按Return或Enter键开始掷骰子。
2)结果将显示在屏幕上。
3)系统将提示您再次掷骰子或退出。
这是一个大略的游戏,但是文档向您先容了许多您须要做的事情。例如,它见告您须要以下组件来编写此游戏:
1)玩家:你须要一个人来玩这个游戏。
2)AI:打算机也必须掷骰子,否则玩家无人赢或输。
3)随机数:常见的六面骰子呈现1到6之间的随机数。
4)运算符:大略的数学运算可以比较一个数字和另一个数字,看哪个数字高。
5)输赢信息。
6)提示重新玩或退出。
制作骰子游戏alpha
很少有程序一开始就具备所有的功能,以是第一个版本只实现了基本的功能。首先是几个定义:
变量是可以变动的值,在Python中常常利用它们。每当您须要程序记住某些内容时,就利用变量。实际上,险些所有与代码一起利用的信息都存储在变量中。例如,在数学方程x + 5 = 20中,变量是x,由于字母x是值的占位符。
integer是数字;它可以是正数或负数。例如,1和-1都是整数。14、21乃至10947也是如此。
Python中的变量易于创建且易于利用。骰子游戏的初始版本利用两个变量:player和ai。
在名为dice_alpha.py的新文本文件中键入以下代码:
import randomplayer = random.randint(1,6)ai = random.randint(1,6)if player > ai : print("You win") # notice indentationelse: print("You lose")
启动游戏以确保其正常运行。
这个基本版的骰子游戏运行得很好。它完成了游戏的基本目标,但觉得并不像游戏。玩家永久不知道他们掷出了什么,也不知道电脑掷出了什么,纵然玩家想再玩一次,游戏也会结束。
这在软件的第一个版本(称为alpha版本)中很常见。既然您对完成紧张部分(滚动骰子)很有信心,现在就可以将其添加到程序中了。
改进游戏
在游戏的第二个版本(称为Beta版)中,进行了一些改进,使其看起来更像游戏。
1)描述结果
比起仅仅见告玩家他们赢了还是没赢,如果他们知道自己赢了什么就更有趣了。试着对你的代码做如下修正:
player = random.randint(1,6)print("You rolled " + player)ai = random.randint(1,6)print("The computer rolled " + ai)
如果您现在运行游戏,它将崩溃,由于Python认为认为您正在考试测验添加字母“ You roll”以及当前在player变量中存储的任何数字。
您必须见告Python将player和ai变量中的数字视为句子中的单词(字符串),而不是数学方程式中的数字(整数)。
对您的代码进行以下变动:
player = random.randint(1,6)print("You rolled " + str(player) )ai = random.randint(1,6)print("The computer rolled " + str(ai) )
立即运行游戏以查当作果。
2)放慢速率
电脑很快,人类有时也会很快,但在游戏中,制造悬念每每更好。您可以利用Python的time函数在悬念部分降落游戏速率。
import randomimport timeplayer = random.randint(1,6)print("You rolled " + str(player) )ai = random.randint(1,6)print("The computer rolls...." )time.sleep(2)print("The computer has rolled a " + str(player) )if player > ai : print("You win") # notice indentationelse: print("You lose")
启动您的游戏以测试您的变动。
3)检测平局
如果您玩够了游戏,您会创造,纵然您的游戏看似正常运行,它实际上也存在一个缺点:当玩家和打算机掷相同的数字时,它不知道该怎么办。
要检讨一个值是否即是另一个值,Python利用==。这是两个等号,而不是一个。如果您只利用一个=,Python会认为您在考试测验创建一个新变量,但实际上您是在考试测验进行数学运算。
当你想要有多于两个选择的时候,你可以利用Python的关键字elif,它的意思是else if。这许可您的代码检讨某些结果是否为真,而不但是检讨一件事是否为真。
像这样修正您的代码:
if player > ai : print("You win") # notice indentationelif player == ai: print("Tie game.")else: print("You lose")
启动你的游戏几次,看看你是否可以和电脑平局。
编写终极版本的程序
骰子游戏的beta版本具有功能性,与alpha版本相比,它更像是一款游戏。
函数是可以作为独立单元调用的代码凑集。函数很主要,由于大多数运用程序都有很多代码,但并不是所有代码都必须同时运行。函数使启动运用程序和掌握什么时候发生什么成为可能。
将您的代码变动为此:
import randomimport timedef dice(): player = random.randint(1,6) print("You rolled " + str(player) ) ai = random.randint(1,6) print("The computer rolls...." ) time.sleep(2) print("The computer has rolled a " + str(ai) ) if player > ai : print("You win") # notice indentation else: print("You lose") print("Quit? Y/N") cont = input() if cont == "Y" or cont == "y": exit() elif cont == "N" or cont == "n": pass else: print("I did not understand that. Playing again.")
此版本的游戏讯问玩家是否希望在玩完游戏退却撤退出游戏。如果他们以Y或y相应,则会调用Python的exit函数,然退却撤退出游戏。
更主要的是,您已经创建了自己的名为dice的函数。骰子功能不会立即运行。实际上,如果您在此阶段考试测验游戏,它不会崩溃,但也不能完备运行。为了使dice函数真正起浸染,您必须在代码中调用它。
将此循环添加到现有代码的底部。前两行仅用于高下文,强调缩进和不缩进的内容。密切把稳缩进。
else: print("I did not understand that. Playing again.")# main loopwhile True: print("Press return to roll your die.") roll = input() dice()
While True代码块首先运行。由于从定义上讲True始终为true,以是此代码块始终运行,直到Python见告它退出为止。
而True代码块是一个循环。它首先提示用户开始游戏,然后调用您的骰子功能。 游戏便是这样开始的。当骰子功能结束时,循环将再次运行或退出,详细取决于玩家如何回答提示。
利用循环运行程序是编写运用程序最常见的方法。该循环确保运用程序保持打开状态足够长的韶光,以使打算机用户可以利用运用程序中的功能。