在家里运行程序

你在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分步执行,观察变量和调用次序。有一些很难的下载方式PyDevPyCharm下面的内容我们只会讨论IDLE

使用交互性提示

打开IDLE后会出现交互性提示(有时也被叫做)。在这里,你可以直接输入指令,然后让指令立刻执行。

>>>
标记表示Python在等待一个输入值。比如,如果你输入print(2+3),然后按Enter键,你会看到

>>> print(2+3)
5
第一行是你要求Python执行程序,第二行是Python的输出值:语句的运行结果就是Python计算出了数字5,并将其打印出来。事实上你可以忽略print:

>>> 2+3
5
换句话说,Python默认打印出你要求执行的语句的值。检查版本的方法:如果你输入下列两行,你会看到CS Circles使用的Python版本。
示例
查看我们使用的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)方程随机产生一个AB之间的整数(包括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,那么这里是一些你现在可以尝试做的事情:

如果你想找一个可以生动地解释Python的交互性背后的乐趣和想法的资源,我们建议你看一本免费的书Invent Your Own Computer Games With Python

想要在Windows上运行Python3中的Pygame的话,额外的资源可以在这里找到