你在CS Circles提交的代码是通过Python的复制品在网站服务器运行,可以让我们自动评判。然而,更传统的编程方式是你在电脑上下载一个Python翻译器。在自己家里运行Python有几个额外好处:(i)你不受限于在我们的网站服务器上分享有限的资源;(ii)你可以编写交互式程序(见下文);(iii)软件被下载后,你不需要联网再运行程序; (iv)你可以使用调试工具,声音,和制图学。
免费的Python工具
不论是Windows,Mac,还是Linux,为了让Python在自己的电脑上运行,你可以在Python.org官网上下载。点击这里来登陆Python下载页面。选择最新的3.x版本,选择匹配你的电脑机型的下载器(比如,对于32-bit的Windows系统,选择"Windows x86 MSI Installer"),然后下载并运行下载器。下载后,运行名为IDLE的程序会打开一个交互性Python提示。
提示:如果你使用学校的电脑,你或许不能完成下载,因为会有权限的问题;或许需要得到权限,需要网络管理员。虽然如此,有一些Python下载器可以使用 & 在USB驱动上运行,比如portablepython.com.
IDLE缺乏一些有用的调试工具。Wing IDE有很多调试的方法,包括breakpoints,分步执行,观察变量和调用次序。有一些很难的下载方式PyDev或PyCharm。下面的内容我们只会讨论IDLE。
使用交互性提示
打开IDLE后会出现交互性提示(有时也被叫做壳)。在这里,你可以直接输入指令,然后让指令立刻执行。
>>>
标记表示Python在等待一个输入值。比如,如果你输入print(2+3)
,然后按Enter键,你会看到
>>> print(2+3) 5第一行是你要求Python执行程序,第二行是Python的输出值:语句的运行结果就是Python计算出了数字
5
,并将其打印出来。事实上你可以忽略print
:
>>> 2+3 5换句话说,Python默认打印出你要求执行的语句的值。检查版本的方法:如果你输入下列两行,你会看到CS Circles使用的Python版本。
(我们使用的是3版本,因为适用于初学者。2版本在很多产业中使用,但是3版本渐渐地被更多人使用)。
有用的事实
- 在交互性提示里,通过使用
help
方程,你会得到有关已存在的方程的列表。比如,输入help(print)
,你会得到有关print()
方程的基本信息。 - 要停止一个无限循环或要很长时间的计算,你可以阻止/破坏break程序,通过输入Ctrl-C。尝试使用
while (1 > 0): purpose = "Wasting Time"
然后使用Ctrl-C停止程序。 - 如果你使用Python作为一个计算器,或者做一些小型的实验,这里是一个有用的快捷键。下划线字符
_
refers to the result of 交互性提示评估出的previous expression which。比如,如果你输入一行2+3
,然后下一行输入_*2
,你会看到下列内容:>>> 2+3 5 >>> _*2 10
编辑文档/文字
如果要解决一个复杂的问题,你需要编写一个包含多个指令的长文档,类似于我们之前在CS Circles网站做的事情。在IDLE中运行需要登陆文件菜单,选择新窗口(或是使用快捷键Ctrl-N)。这么做就会打开一个新窗口,也就是一个基本的文本编辑器(不是一个交互性提示)。在这个窗口编写一些代码(比如,print("Hello, World")
);注意,当你按下Enter键后,程序不会执行。在你自己的电脑上储存这个文件(在File菜单下选择Save,或按Ctrl-S)。然后你可以执行它:在运行菜单下选择运行模块(或使用快捷键F5)。你会在交互窗口看到你的程序的输出值!
交互性输入
当你在自己的电脑上而不是在CS Circles网站上运行Python时,一个主要的特点就可以实现了,你现在可以在交互窗口使用交互性输入。input()
指令会得到一行使用者在交互翻译器中的输入,而且那个字符串成为了input()
方程返还的值。除此以外,当你调用输入方程时,你可以把提示字符串当作一个参数,这样就能够指示使用者该做什么。我们在这里用一个小例子说明这个问题...将它复制到你的IDLE编辑器中,然后保存并执行。
print("Good day!") username = input("What is your name? ") print("Nice to meet you,", username)
交互性例子:猜游戏
这里我们提供一个显现交互性输入的重要性的例子:你和计算机进行竞猜游戏。我们会使用一个random
包裹里的方程:random.randint(A, B)
方程随机产生一个A
和B
之间的整数(包括A,B)。通过使用这些方程,我们可以设计一个小游戏:复制下列代码到你的编辑器中,保存并运行。
import random secretNumber = random.randint(1, 100) print("I'm thinking of a secret number between 1 and 100...") while True: guess = int(input("What is your guess? ")) if (guess == secretNumber): break if (guess > secretNumber): print("Sorry, your guess is too high.") if (guess < secretNumber): print("Sorry, your guess is too low.") print("Dang, you got it!")
然后...
如果你对这些程序感兴趣,那么再创造一些更加复杂的程序,比如一个可以转换计量单位的交互式程序。如果你已经在自己的电脑上运行了Python,那么这里是一些你现在可以尝试做的事情:
- Pythonturtle模块可以用来建立线形图和几何动画!
- 你可以编写一个Python程序,用来读和写文档;
- 你可以用Python来创造音乐的哗哗声!
如果你想找一个可以生动地解释Python的交互性背后的乐趣和想法的资源,我们建议你看一本免费的书Invent Your Own Computer Games With Python。
想要在Windows上运行Python3中的Pygame的话,额外的资源可以在这里找到。 |