选择你自己的Python冒险/旧目录页
本书是双城ExCo(实验学院)课程比特与字节:编程入门的课程教材。
你认为程序员天生就手持键盘吗?程序员是后天造就的,不是天生的——你也可以和最优秀的程序员一样编码。如果你有兴趣打破编程周围的障碍和神秘面纱,加入我们!在一个轻松、无压力的环境中学习编码。
你的辅导员,Gregg 和 Amanda,来自非传统的编程背景,曾经也是新手。我们对精英技术宅、男性至上主义和宅男优越感毫无耐心。
我们的主要项目是一个网络应用程序,它允许你玩自己编写的“选择你自己的冒险”游戏!(例如:http://cyoa.lind-beil.net/)。
所有教学都使用 Python 语言,这是一种免费的、开源的、跨平台的、功能强大且易于学习的语言。我们将帮助你入门,每周介绍新的概念。会有动手练习、充足的提问时间和一个松散的结构。黑客精神关乎解放和民主化权力。
先决条件:能够运行或安装程序的计算机。仅在线学习也可以,但实际学习更好(你需要一台笔记本电脑,或者非常强壮的胳膊才能搬动你的台式机)。
有经验的程序员也欢迎作为学习者或导师。
请告诉我们关于移动性、神经多样性或育儿需求方面的任何要求,我们将尽力满足。
我们受到以下内容的启发
Kirrily Roberts 的 OSCON 演讲 和 Dreamwidth 的 Python vs. Ruby 死亡竞赛.
1a. Python,来自Python 网站
你需要最新的 2.x 系列(可能是 2.6.x)版本,而不是 3.x.x 版本。[1] Python 3 在某些方面有所不同(主要是在字符串方面),本课程没有涉及。
如果你更喜欢冒险,可以随意尝试页面底部的其中一个安装程序
- ActiveState ActivePython(非开源)
- Enthought Python Distribution(用于科学计算的商业发行版)
- Portable Python(Python 和附加软件包,配置为从便携式设备运行)(如果你不能在系统范围内安装 Python,并且需要从 USB 驱动器、SD 卡或类似设备运行,建议使用此选项)
这些发行版包含我们不会使用的其他模块(代码包)。如果你开始认真使用 Python,安装其中一个包比逐个安装要容易得多。使用通常的 Windows 方法安装它。
1b. 测试你的 Python 安装。
start > run > cmd [OK]
这将打开一个 Windows cmd 窗口。在其中,输入python
C:\Documents and Settings\Gregg>python Python 2.4.3 - [some other info, perhaps] >>> 'hello' 'hello'
如果你看到类似于以下内容,那么你就可以了!
2a. 安装文本编辑器。
文字处理器,包括 Microsoft Word 及其同类软件,非常不适合编写代码,因为它们混淆了布局格式和文本。越简单越好。也就是说,记事本也不适合,因为它会自动[2]在文件名后面添加“.txt”,以及其他一些功能。
一个好的编程编辑器的关键功能
- 语法高亮显示
- 等宽字体
- 多个选项卡式界面。
我们非常喜欢的一个免费(免费啤酒和开源)编辑器是 SciTE [1]。这个程序在SourceForge 上也有一个“无需安装”版本。便携式版本没有安装版本的所有功能,但功能相当强大。一个好的迹象是程序可以以不需要安装程序的形式存在。这意味着开发人员不想干扰正在运行的系统,也不想损坏任何东西,并使你能够轻松地删除该程序,如果你不喜欢它的话。
2b. 测试你的安装
双击 SciTE,或从程序菜单中选择它,或点击可执行文件,以通常的 Windows 方式操作。你应该会得到一个类似记事本的工作区。
复制粘贴以下内容:
# here is some python code 1 # an int b = 'some string' # string if 2 > 1: print "sure looks bigger"
然后,在菜单中:语言 > Python。代码应该改变颜色,各个部分(变量、整数、字符串、注释)将变成漂亮的颜色。
Mac 用户好消息!Python 作为 Mac OS 的一部分预先安装了。检查一下
- 在 Finder 中,导航到应用程序 -> 实用工具 -> 终端并启动终端
- 输入 python 并按回车键
- 你将看到类似于以下内容
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin Type "help", "copyright", "credits" or "license" for more information. ( >>> print "hello" 'hello'
你可以在 Python 命令提示符下完成很多操作,但使用文本编辑器编写更复杂的问题会更容易。TextWrangler 是 Mac 用户的一个不错的文本编辑器。从Barebones Software 网站下载它
(可选)安装ipython
Ipython 是一个 Python 包,它提供了一个更友好的命令行环境,包括语法高亮显示、历史记录以及各种调试工具和改进。从Ipython 网站下载它。
PyScripter 是一款免费的 IDE(适用于 Windows)。如果您有编程经验,它与 Borland Delphi IDE 类似。您可以从 PyScipter 项目网站 下载 PyScripter。
print "Hello, world!"
运行后,您应该会看到
"Hello, world!"
使用 Turtle
玩耍
Python 的 turtle
模块是 类似 LOGO 的语言 的一个简单重新实现。
从您的 Python 提示符
# import everything from the turtle module
# import: make them available for use
# everything: (mostly) everything (there are some exceptions)
# the turtle module: a collection of functions (actions), constants,
# and other useful stuff that is grouped into one 'space' (a namespace)
# named turtle, for easy of memory, and general good sense
>>> from turtle import *
>>> circle(80) # this will draw a circle with a diameter of 80
>>> reset() # reset the screen
>>> forward(10) # make the turtle go forward 10
所有命令都列在 Turtle 参考文档 中
没有行号,但可以复制粘贴
## anything from '#' is a comment, and gets ignored.
## all my editorial comments will start with '##' -- GRL
## some text describng what this is
# a simple choose your own adventure
## 'print' prints to the screen.
print "Welcome to MYSTERIOUS MANSION."
print "You are at a mysterious door. The door is clearly marked -- 'Open Me And Die!'."
## in python, strings can be single or double-quoted
print 'Do you want to open the door?'
## raw_input gets input from the user
## Here, we take the input, and *assign* it to a variable called 'ans'
ans = raw_input("please type 'yes' or 'no' ")
## conditionals
## see if the user's answer is interesting or not
if ans=="yes":
print "That was foolish! You are now dead."
## elif means "else-if"
elif ans == "no":
print "That was wise! You are alive, but thoroughly bored."
## else is a 'catch-all' for "any condition not all ready covered"
else:
print "I don't know what to do, based on what you said, which was, |", ans, "|"
print "Thank you for playing!"
## anything from '#' is a comment, and gets ignored.
## all my editorial comments will start with '##' -- GRL
## some text describng what this is
# a simple choose your own adventure
## 'print' prints to the screen.
print "Welcome to MYSTERIOUS MANSION."
print "You are at a mysterious door. The door is clearly marked -- 'Open Me And Die!'."
## in python, strings can be single or double-quoted
print 'Do you want to open the door?'
## raw_input gets input from the user
## Here, we take the input, and *assign* it to a variable called 'ans'
ans = raw_input("please type 'yes' or 'no' ")
## conditionals
## see if the user's answer is interesting or not
if ans=="yes":
print "That was foolish! You are now dead."
## elif means "else-if"
elif ans == "no":
print "That was wise! You are alive, but thoroughly bored."
## else is a 'catch-all' for "any condition not all ready covered"
else:
print "I don't know what to do, based on what you said, which was, |", ans, "|"
print "Thank you for playing!"
- ↑ 截至 2009 年 9 月 9 日:选择 Python 2.6.2 Windows 安装程序(Windows 二进制文件 - 不包括源代码)
- ↑ 自动地:黑客。自动,仿佛是魔法。正如在幻想曲中,这可能是一件喜忧参半的事情。
请仅在书籍标题页面添加 {{alphabetical}}
。