You are on page 1of 58

TI-Nspire™ Python

编程指导手册

欲详细了解 TI 技术,可访问 education.ti.com/eguide 以查看在线帮助。


重要信息
除非在程序附带的《许可证》中明示声明,否则 Texas Instruments 不对任何程
序或书面材料做出任何明示或暗示担保,包括但不限于对某个特定用途的适
销性和适用性的暗示担保,并且这些材料均以“原样”提供。任何情况下,
Texas Instruments 对因购买或使用这些材料而蒙受特殊、附带、偶然或连带损
失的任何人都不承担任何责任。无论采用何种赔偿方式,Texas Instruments 的
唯一且排他性义务不得超出本程序许可证规定的数额。此外,对于任何其他
方因使用这些材料而提起的任何类型的索赔,Texas Instruments 概不负责。
© 2021 Texas Instruments Incorporated
“Python”和 Python 徽标是 Python 软件基金会的商标或注册商标,在获得基金
会许可的情况下,由 Texas Instruments Incorporated 使用。
实际产品可能与提供的图像有所差异。

i
表的内容

Python 编 程 快 速 入 门 1
Python 模块 1
作为模块安装 Python 程序 2

Python 工 作 区 3
Python 编辑器 3
Python Shell 6

Python 菜 单 层 次 图 10
“操作”菜单 11
运行菜单 12
工具菜单 13
编辑菜单 14
内置项菜单 15
数学菜单 18
随机菜单 20
TI PlotLib 菜单 21
TI Hub 菜单 23
TI Rover 菜单 30
复数运算菜单 36
时间菜单 37
TI 系统菜单 38
TI 绘图菜单 39
TI 图像菜单 41
变量菜单 43

附录 44
Python 关键字 45
Python 键位映射 46
Python 程序样本 48

一般信息 55

ii
Python 编 程 快 速 入 门
在 TI-Nspire™ 产品中使用 Python 时,您可以:
• 将 Python 程序添加到 TNS 文件
• 使用模板创建 Python 程序
• 与其他 TI-Nspire™ 应用程序交互和共享数据
• 与 TI-Innovator™ Hub 和 TI-Innovator™ Rover 进行交互
TI-Nspire™ Python 实现基于 MicroPython,它是专为在微控制器上运行而设计的
Python 3 标准库的小子集。原始 MicroPython 实现已改编以供 TI 使用。
注 : 由于底层数学实现的差异,某些数字答案可能与计算器结果有所不同。
Python 可在这些 TI-Nspire™ 产品上使用:

手持设备 台式设备软件
TI-Nspire™ CX II TI-Nspire™ CX 高 级 教 师 版 软 件
TI-Nspire™ CX II CAS TI-Nspire™ CX CAS 高 级 教 师 版 软 件
TI-Nspire™ CX II-T TI-Nspire™ CX 学 生 软 件
TI-Nspire™ CX II-T CAS TI-Nspire™ CX CAS 学 生 软 件
TI-Nspire™ CX II-C
TI-Nspire™ CX II-C CAS

注 : 大多数情况下,手持设备和软件视图的功能相同,但也可能会发现一些差
异。本指南假定您正在使用软件中的手持设备或手持设备视图。

Python 模 块
TI-Nspire™ Python 包括以下模块:

标准模块 TI 模 块
Math (math) TI PlotLib (ti_plotlib)
Random (random) TI Hub (ti_hub)
Complex Math (cmath) TI Rover (ti_rover)
Time (time) TI System (ti_system)
TI Draw (ti_draw)
TI Image (ti_image)

注 : 如果已在其他 Python 开发环境中创建了现有 Python 程序,则可能需要对


其进行编辑以在 TI-Nspire™ Python 解决方案上运行。与 TI 模块相比,模块可以
在程序中使用不同的方法、参数和方法排序。一般来讲,使用任何版本的
Python 和 Python 模块时都要注意兼容性。
将 Python 程序从非 TI 平台传送到 TI 平台或从一个 TI 产品传送到另一个产品
时,请记住:

1 Python 编 程 快 速 入 门
• 可以移植使用核心语言功能和标准 libs( 数学、随机等) 的程序,而无需进
行任何更改。
• 使用特定于平台的库( 例如用于 PC 或 TI 模块的 matplotlib) 的程序将需要
进行编辑,才能在其他平台上运行。即使在 TI 平台之间也是如此。
与任何版本的 Python 一样,需要包含导入才能使用给定模块中包含的任何函
数、方法或常数。例如,要从数学模块执行 cos() 函数,使用以下命令:
>>>from math import *
>>>cos(0)
1.0

有关其项目和描述的菜单列表,请参阅菜单层次图部分。

作 为 模 块 安 装 Python 程 序
将 Python 程 序 另 存 为 模 块 :
• 在 Editor 中,选择 Actions > Install as Python Module( 操 作 > 作 为 Python 模 块
安装) 。
• 在 Shell 中,选择 Tools > Install as Python Module( 工 具 > 作 为 Python 模 块 安
装) 。
选择后,会出现以下情况:
• 将检查 Python 语法。
• 文件将被保存并移动到 PyLib 文件夹。
• 将出现一个对话框,确认文件已作为模块安装。
• 文件已关闭,模块可供使用。
• 模块名称将被添加到 More Modules( 更 多 模 块 ) 菜单中,并包含 from
<module> import *( 导 入 ) 菜单项。
如果您打算与他人分享本模块,建议您遵循以下指南:
• 每个 TNS 文件仅存储一个模块。
• 模块名称与 TNS 文件的名称匹配( 例如,“my_program”模块位于“my_
program.tns”文件中) 。
• 在 Python Editor 之前添加一个记事本页面,描述模块的目的、版本和功
能。
• 使用 ver() 函数以显示模块的版本编号。
• ( 可选) 添加帮助函数以在函数中显示方法列表。

Python 编 程 快 速 入 门 2
Python 工 作 区
Python 编程有两个工作区:Python 编辑器和 Python Shell。

Python 编辑器 Python Shell


• 创建、编辑和保存 Python 程序 • 运行 Python 程序
• 句法高亮显示和自动缩进 • 便于测试小代码片段
• 使用函数参数指导的内联提示 • 与 Shell 历史记录进行交互,以选
• 显示有效值范围的工具提示 择之前的输入和输出以供重新使

• h 键列出当前程序中定义的
全局用户变量和函数 • h 键列出在指定问题中上一个程
序中定义的全局用户变量
• 键盘快捷键

注 : 可以将多个 Python 程序和 Shell 添加到问题中。

Python 编 辑 器
您可以在 Python 编辑器中创建、编辑和保存 Python 程序。
添加 Python 编辑器页面
要在当前问题中添加新的 Python 编辑器页面,按 b 键并选择 添 加 Python >
新。

您可以创建一个空白程序,也可以选择一个模板。

空白程序 模板

创建程序后,将显示 Python 编辑器。如果选择了模板,则会自动添加必要的


import 语句( 参见下文) 。

3 Python 工 作 区
注 : 就像其他应用程序一样,您可以在单个 TNS 文件中拥有多个程序。如果打
算将 Python 程序用作模块,则可以将 TNS 文件保存在 PyLib 文件夹中。然后,
该模块便可用于其他程序和文档。

数学计算 随机模拟

几何图形 图片处理

绘图 (x,y) & 文本 数据共享

TI-Innovator Hub 项目 TI-Rover 编码

打开 Python 程序
要打开现有 Python 程序,按 ~ 键并选择 插 入 > 添 加 Python > 打 开 。这将显
示已保存在 TNS 文件中的程序列表。

Python 工 作 区 4
如果用于创建程序的编辑器页面已被删除,则该程序在 TNS 文件中仍然可用

在 Python 编辑器中工作
按 b 键显示“文档工具”菜单。通过这些菜单选项,您可以添加、移动和复制
程序的代码块。

文档工具菜单

从模块菜单中所选的项目将自动将代码模板添加到编辑器中,并为函数的每
个部分提供内联提示。按 e 键( 向前) 或 g+e 键( 向后) 可以从一个参数
导航到下一个参数。在可用的情况下,将显示工具提示或弹出列表,以帮助
您选择适当的值。

内联提示 工具提示

弹出列表

程序名右侧的数字反映光标的当前行编号和程序中的行总数。

5 Python 工 作 区
可通过按 h 键并从列表中选择,来插入当前光标位置上方各行中定义的全
局函数和变量。

在向程序中添加代码时,编辑器会以不同的颜色显示关键字、运算符、注释、
字符串和缩进,以帮助识别不同的元素。

保存和运行程序
完成程序后,按 b 键并选择 运 行 > 检 查 句 法 & 保 存 。这将检查 Python 程序
的句法并将其保存到 TNS 文件中。
注 : 如果程序中有未保存的更改,则程序名称旁边将显示星号。

要运行程序,按 b 键并选择 运 行 > 运 行 。这将在下一个 Python Shell 页面或


新页面( 如果下一页不是 Shell) 中运行当前程序。
注 : 运行程序会自动检查句法并保存程序。

Python Shell
Python Shell 是执行 Python 程序、其他 Python 代码或简单命令的解释器。

Python 代码 简单命令

Python 工 作 区 6
添加 Python Shell 页面
要在当前问题中添加新的 Python Shell 页面,按 b 键并选择 添 加 Python >
Shell。

还可以通过按 b 键并选择 运 行 > 运 行 执行程序,来从 Python 编辑器中启动


Python Shell。

在 Python Shell 中工作


按 b 键显示“文档工具”菜单。通过这些菜单选项,您可以添加、移动和复制
代码块。

文档工具菜单

注 : 如果使用某个可用模块中的任何方法,请确保像在任何 Python 编码环境


中一样,首先执行导入模块语句。
与 Shell 输出的交互类似于计算器应用程序,您可以在其中选择和复制之前的
输入和输出,以便在 Shell、编辑器或其他应用程序中的其他位置使用。
使用向上箭头进行选择,然后复制并粘贴到所需位置

7 Python 工 作 区
要插入上次运行程序的全局函数和变量,请按 h 或 /+L 并从列表中选择
或按 b 并选择 变 量 > Vars:上 次 运 行 程 序 。
要从上次运行程序和任何导入模块的全局函数和变量列表中进行选择,请按
b 键并选择 变 量 > Vars:全 部 。

变量菜单

上次运行程序变量 所有变量

同一问题中的所有 Python Shell 页面共享相同的状态( 用户定义的和导入的变


量定义) 。当您在该问题中保存或运行 Python 程序,或按 b 并选择 工 具 > 重
新 初 始 化 Shell 时,Shell 历史记录将显示灰色背景,表示之前的状态不再有
效。

保存或重新初始化之前 保存或重新初始化之后

注 : b 工 具 > 清 除 历 史 记 录 选项清除 Shell 中之前任何活动的屏幕,但变量


仍然可用。
消息
在 Python 会话中时,可能会显示错误和其他信息性消息。如果程序执行时在
Shell 中出现错误,则会显示程序行编号。按 / b 并选择 转 至 Python 编 辑
器 。在编辑器中,按 b 然后选择 编 辑 > 转 至 行 。输入行编号并按 ·。光标
将显示在出错行的第一个字符上。
中断正在运行的程序

当程序或函数正在运行时,会显示忙指针 }。

Python 工 作 区 8
▶ 要停止程序或函数,
- Windows®:按 F12 键。
- Mac®:按 F5 键。
- 手持设备:按 c 键。

9 Python 工 作 区
Python 菜 单 层 次 图
本节列出了 Python 编辑器和 Shell 的所有菜单和菜单项以及对其每一个的简
短说明。
注 : 对于带有键盘快捷键的菜单项,Mac® 用户应在任何使用 Ctrl 的位置替换
为 “ ( Cmd)。有关 TI-Nspire™ 手持设备和软件快捷键的完整列表,请参阅 TI-
Nspire™ 技术电子指南。

“操作”菜单 11
运行菜单 12
工具菜单 13
编辑菜单 14
内置项菜单 15
数学菜单 18
随机菜单 20
TI PlotLib 菜单 21
TI Hub 菜单 23
TI Rover 菜单 30
复数运算菜单 36
时间菜单 37
TI 系统菜单 38
TI 绘图菜单 39
TI 图像菜单 41
变量菜单 43

Python 菜 单 层 次 图 10
“操 作 ”菜 单
注 : 仅适用于编辑器。

项目 说明
新建 打 开 新 建 对 话 框 ,在 此 输 入 名 称 并 为 新 程 序 选 择 一 个
类型 。
打开 打开当前文档中可用程序的列表。
创建副本 打 开 创 建 副 本 对 话 框 ,可 以 在 此 使 用 其 他 名 称 保 存 当
前程序。
重命名 打 开 重 命 名 对 话 框 ,可 以 在 此 重 命 名 当 前 程 序 。
关闭 关闭当前程序。
设置 打 开 设 置 对 话 框 ,可 以 在 此 更 改 编 辑 器 和 Shell 的 字 体
大小。
作 为 Python 模 块 检 查 当 前 TNS 文 件 的 Python 语 法 ,并 将 其 移 动 到 PyLib
安装 文 件 夹。

11 Python 菜 单 层 次 图
运行菜单
注 : 仅适用于编辑器。

快捷
项目 键 说明
运行 Ctrl+R 在 Python Shell 中 检 查 句 法 、保 存 和 执 行 程 序 。
检查句法并保存 Ctrl+B 检查句法并保存程序。
转 至 Shell 无 将 焦 点 转 移 至 与 当 前 程 序 相 关 的 Shell,或 在 编
辑 器 旁 边 打 开 一 个 新 的 Shell 页 面 。

Python 菜 单 层 次 图 12
工具菜单
注 : 仅适用于 Shell。

快捷
项目 键 说明
重新运行上次运行的 Ctrl+R 重 新 运 行 与 当 前 Shell 相 关 的 最 后 一 个 程
程序 序。
转 到 Python 编 辑 器 无 打 开 与 当 前 Shell 相 关 的 编 辑 器 页 面 。
运行 无 打开当前文档中可用程序的列表。
选 择 后 ,将 运 行 所 选 程 序 。
清空历史记录 无 清 除 当 前 Shell 中 的 历 史 记 录 ,但 不 会 重
新 初 始 化 Shell。
重 新 初 始 化 Shell 无 重 置 当 前 问 题 中 所 有 打 开 的 Shell 页 面 的
状态。
所有定义的变量和导入的函数都不再可
用。
dir() 无 显 示 在 import 语 句 之 后 使 用 的 指 定 模 块
中的函数列表。
From PROGRAM import * 无 打开当前文档中可用程序的列表。
选 择 后 ,import 语 句 被 粘 贴 在 Shell 中 。
作 为 Python 模 块 安 装 无 仅 对 二 进 制 格 式 的 模 块 启 用 。将 当 前 TNS
文 件 移 动 到 PyLib 文 件 夹。

13 Python 菜 单 层 次 图
编辑菜单
注 : Ctrl+A 选择要剪切或删除( 仅限编辑器) 、或复制和粘贴( 编辑器和 Shell) 的
所有代码行或输出。

项目 快捷键 说明
缩进 TAB* 缩进当前行或所选行上的文本。
* 如 果 内 联 提 示 不 完 整 ,TAB 将 导 航 至 下 一
个提示。
取消缩进 Shift+TAB** 取消缩进当前行或所选行上的文本。
** 如 果 内 联 提 示 不 完 整 ,Shift+TAB 将 导 航 至
上一个提示。
注 释 /取 消 注 释 Ctrl+T 在 /从 当 前 行 的 开 头 添 加 /移 除 注 释 符 号 。
插入多行字符 无 ( 仅限编辑器) 插入多行字符串模板。

查找 Ctrl+F ( 仅 限 编 辑 器 ) 打 开 查 找 对 话 框 ,在 当 前 程 序
中搜索输入的字符串。
替换 Ctrl+H ( 仅 限 编 辑 器 ) 打 开 替 换 对 话 框 ,在 当 前 程 序
中搜索输入的字符串。
转至行 Ctrl+G ( 仅 限 编 辑 器 ) 打 开 转 至 行 对 话 框 ,跳 转 到 当
前程序中的指定行。
行首 Ctrl+8 将光标移至当前行的开头。
行尾 Ctrl+2 将光标移至当前行的末尾。
跳至顶部 Ctrl+7 将光标移至程序中第一行的开头。
跳至底部 Ctrl+1 将光标移至程序中最后一行的末尾。

Python 菜 单 层 次 图 14
内置项菜单
函数

项目 说明
def function(): 定义依赖于指定变量的函数。
return 定义函数产生的值。

控件

项目 说明
if.. 条件语句。
if..else.. 条件语句。
if..elif..else.. 条件语句。
for index in range(size): 迭代一个范围。
for index in range(start,stop): 迭代一个范围。
for index in range(start,stop,step): 迭代一个范围。
for index in list: 迭代列表元素。
while.. 执 行 代 码 块 中 的 语 句 ,直 到 条 件 的 计 算 结
果 为 False。
elif: 条件语句。
else: 条件语句。

Ops

项目 说明
x=y 设置变量值。
x==y 粘 贴 等 于 (==) 比 较 运 算 符 。
x!=y 粘 贴 不 等 于 (!=) 比 较 运 算 符 。
x>y 粘 贴 大 于 (>) 比 较 运 算 符 。
x>=y 粘 贴 大 于 或 等 于 (>=) 比 较 运 算 符 。
x<y 粘 贴 小 于 (<) 比 较 运 算 符 。
x<=y 粘 贴 小 于 或 等 于 (<=) 比 较 运 算 符 。

15 Python 菜 单 层 次 图
项目 说明
和 粘 贴 and (and) 逻 辑 运 算 符 。
或 粘 贴 or (or) 逻 辑 运 算 符 。
not 粘 贴 not (not) 逻 辑 运 算 符 。
真 粘 贴 True 布 尔值 。
假 粘 贴 False 布 尔值 。

列表

项目 说明
[] 粘 贴 括 号 ([])。
list() 将 序 列 转 换 为 “列 表 ”类型 。
len() 返回列表的元素数。
max() 返回列表中的最大值。
min() 返回列表中的最小值。
.append() 该方法将元素附加到列表中。
.remove() 该方法从列表中移除元素的第一个实例。
range(start,stop,step) 返回一组数字。
for index in range(start,stop,step) 用于迭代范围。
.insert() 该方法在指定位置添加元素。
.split() 该 方 法 将 返 回 列 表 ,其 中 的 元 素 由 指 定 分
隔符分隔。
sum() 返回列表元素的和。
sorted() 返回已排序的列表。
.sort() 该方法对列表进行适当排序。

类型

项目 说明
int() 返回整数部分。
float() 返回浮点值。
round(x,ndigits) 返回四舍五入到指定位数的浮点数。

Python 菜 单 层 次 图 16
项目 说明
str() 返回一个字符串。
complex() 返回一个复数。
type() 返 回 对 象 的 类型 。

I/O

项目 说明
print() 将参数显示为字符串。
input() 提示用户输入。
eval() 计算表示为字符串的表达式。
.format() 该方法格式化指定的字符串。

17 Python 菜 单 层 次 图
数学菜单
注 : 创建使用此模块的新程序时,建议使用 数 学 计 算 程序类型。这将确保导入
所有相关模块。

项目 说明
from math import * 从 math 模 块 导 入 所 有 方 法 ( 函 数 ) 。
fabs() 返回实数的绝对值。
sqrt() 返回实数的平方根。
exp() 返 回 e**x。
pow(x,y) 返回 x 的 y 次幂。
log(x,base) 返 回 log底 数 (x)。
无 底 数 的 log(x) 返 回 自 然 对 数 x。
fmod(x,y) 返 回 x 和 y 的 模 块 值 。当 x 和 y 是 浮 点 数 时 使 用 。
ceil() 返回大于或等于实数的最小整数。
floor() 返回小于或等于实数的最大整数。
trunc() 将实数截断为整数。
frexp() 返 回 一 对 (y,n),其 中 x == y * 2**n。

Const

项目 说明
e Returns value for the constant e.
pi Returns value for the constant pi.

Trig

项目 说明
radians() 将以度为单位的角度转换为弧度。
degrees() 将以弧度为单位的角度转换为度。
sin() 返回参数的正弦值( 以弧度为单位) 。
cos() 返回参数的余弦值( 以弧度为单位) 。
tan() 返回参数的正切值( 以弧度为单位) 。

Python 菜 单 层 次 图 18
项目 说明
asin() 返回参数的反正弦值( 以弧度为单位) 。
acos() 返回参数的反余弦值( 以弧度为单位) 。
atan() 返回参数的反正切值( 以弧度为单位) 。
atan2(y,x) 返 回 y/x 的 反 正 切 值 ( 以 弧 度 为 单 位 ) 。

19 Python 菜 单 层 次 图
随机菜单
注 : 创建使用此模块的新程序时,建议使用 随 机 模 拟 程序类型。这将确保导入
所有相关模块。

项目 说明
from random import * 从随机模块导入所有方法。
random() 返 回 从 0 到 1.0 的 浮 点 数 。
uniform(min,max) 返 回 随 机 数 字 x( 浮 点 ) ,使 得 最 小 值 <= x <= 最 大
值。
randint(min,max) 返回介于最小值和最大值之间的随机整数。
choice(sequence) 从非空序列返回随机元素。
randrange(start,stop,step) 从开始到结束逐步返回随机数字。
seed() 初始化随机数字生成器。

Python 菜 单 层 次 图 20
TI PlotLib 菜 单
注 : 创建使用此模块的新程序时,建议使用 Plotting (x,y) &文 本 程序类型。这将
确保导入所有相关模块。

项目 说明
将 ti_plotlib 导 入 为 plt 从 “plt”命 名 空 间 中 的 ti_plotlib 模 块 导 入 所 有 方 法
( 函 数 ) 。因 此 ,从 菜 单 中 粘 贴 的 所 有 函 数 名 称 都 将
以 “plt”开 头 。

设置

项目 说明
cls() 清除绘图画布。
grid(x-scale,y-scale,"style") 使用 x 和 y 轴的指定比例显示网格。
window(xmin,xmax,ymin,ymax) 通 过 将 指 定 的 水 平 间 隔 (xmin, xmax) 和 垂 直 间
隔 (ymin, ymax) 映 射 到 分 配 的 绘 图 区 域 ( 像 素 )
来定义绘图窗口。
auto_window(x-list,y-list) 自 动 缩 放 绘 图 窗 口 以 适 合 在 auto_window() 之
前 的 程 序 中 指 定 的 x-list 和 y-list 内 的 数 据 范
围。
axes("mode") 显示绘图区域指定窗口上的坐标轴。
labels("x-label","y-label",x,y) 在 行 位 置 x 和 y 处 的 绘 图 轴 上 显 示 “x-label”和
“y-label”的 标 签 。
title("title") 在 窗 口 顶 行 居 中 显 示 “标 题 ”。
show_plot() 显示缓冲绘图输出。
在屏幕上显示多个对象可能导致延迟的情况
下 ,use_buffer() 和 show_plot() 函 数 非 常 有 用 ( 多
数情况下不需要) 。
use_buffer() 启 用 离 屏 缓 冲 区 ,以 加 速 绘 图 。

绘制

项目 说明
color(red,green,blue) 设 置 以 下 所 有 图 形 /绘 图 的 颜 色 。
cls() 清除绘图画布。

21 Python 菜 单 层 次 图
项目 说明
show_plot() 执行程序中设置的绘图显示。
scatter(x-list,y-list,"mark") 使 用 指 定 的 标 记 样 式 绘 制 (x-list,y-list) 中 的 一 系
列有序数对。
plot(x-list,y-list,"mark") 使 用 指 定 的 x-list 和 y-list 中 的 有 序 数 对 绘 制 一 条
线。
plot(x,y,"mark") 使用带有指定标记样式的坐标 x 和 y 绘制一个
点。
line(x1,y1,x2,y2,"mode") 绘 制 一 条 从 (x1,y1) 到 (x2,y2) 的 线 段 。
lin_reg(x-list,y-list,"display") 计 算 并 绘 制 x-list、y-list 的 线 性 回 归 模 型 ax+b。
pen("size","style") 设 置 以 下 所 有 行 的 外 观 ,直 到 执 行 下 一 个 pen()
为止。
text_at(row,"text","align") 在 绘 图 区 以 指 定 的 “对 齐 ”显 示 “文 本 ”。

属性

项目 说明
xmin 定 义 为 plt.xmin 的 窗 口 参 数 的 指 定 变 量 。
xmax 定 义 为 plt.xmax 的 窗 口 参 数 的 指 定 变 量 。
ymin 定 义 为 plt.ymin 的 窗 口 参 数 的 指 定 变 量 。
ymax 定 义 为 plt.ymax 的 窗 口 参 数 的 指 定 变 量 。
m 在 程 序 中 执 行 plt.linreg() 之 后 ,斜 率 m 和 截 距 b 的 计 算 值 存 储 在
plt.m 和 plt.b 中 。
b 在 程 序 中 执 行 plt.linreg() 之 后 ,斜 率 a 和 截 距 b 的 计 算 值 存 储 在 plt.a
和 plt.b 中 。

Python 菜 单 层 次 图 22
TI Hub 菜 单
注 : 创建使用此模块的新程序时,建议使用 Hub 项 目 程序类型。这将确保导入
所有相关模块。

项目 说明
from ti_hub import * 从 ti_hub 模 块 导 入 所 有 方 法 。

Hub 内置设备 > 颜色输出

项目 说明
rgb(red,green,blue) 设 置 RGB LED 的 颜 色 。
blink(frequency,time) 设置所选颜色的闪烁频率和持续时间。
off() 关 闭 RGB LED。

Hub 内置设备 > 亮度输出

项目 说明
on() 打 开 LED。
off() 关 闭 LED。
blink(frequency,time) 设 置 LED 的 闪 烁 频 率 和 持 续 时 间 。

Hub 内置设备 > 声音输出

项目 说明
tone(frequency,time) 在指定的持续时间内播放指定频率的声音。
note("note",time) 在指定的时间内播放指定的音符。
使 用 音 名 和 一 个 八 度 指 定 音 符 。例 如 :A4、C5。
音 名 为 C、CS、D、DS、E、F、FS、G、GS、A、AS 和 B。
八 度 编 号 范 围 为 1 到 9( 含 1 和 9) 。

23 Python 菜 单 层 次 图
Hub 内置设备 > 亮度输入

项目 说明
measurement() 读 取 内 置 BRIGHTNESS( 光 级 ) 传 感 器 并 返 回 读 数 。
默 认 范 围 为 0 到 100。可 以 使 用 range() 函 数 对 其 进 行 更 改 。
range(min,max) 设置从光级传感器映射读数的范围。
如 果 两 者 都 缺 失 ,或 设 置 为 “无 ”值 ,则 设 置 0 到 100 的 默 认
亮度范围。

添加输入设备
此菜单包含 ti_hub 模块支持的传感器( 输入设备) 列表。所有菜单项都会粘贴
对象的名称,并预计有变量和与传感器一起使用的端口。每个传感器都有返
回传感器值的 measurement() 方法。

项目 说明
DHT (Digital Humidity & Temp) 返 回 包 含 当 前 温 度 、湿 度 、传 感 器 类型 和 最 后
缓存读取状态的列表。
测距仪 返回指定超声波测距仪的当前距离测量结
果。
亮度级 返 回 外 部 光 级 ( 亮 度 ) 传 感 器 的 亮 度 级 别。
温度 返回外部温度传感器的温度读数。
默 认 配 置 是 在 IN 1、IN 2 或 IN 3 端 口 中 支 持
Seeed 温 度 传 感 器 。
要 使 用 TI-Innovator™ Hub 试 验 板 包 的 TI LM19
温 度 传 感 器 ,请 编 辑 使 用 中 的 BB 插 针 端 口 ,
并 使 用 可 选 参 数 “TIANALOG”。
示 例 :mylm19=temperature("BB 5","TIANALOG")
湿度 返回湿度传感器读数。
磁性 检测磁场的存在。
通 过 trigger() 函 数 设 置 确 定 磁 场 存 在 的 阈 值 。
阈 值 的 默 认 值 为 150。
Vernier 读 取 命 令 中 指 定 的 Vernier 模 拟 传 感 器 的 值 。
该 命 令 支 持 以 下 Vernier 传 感 器 :
• 温度 - 不锈钢温度传感器。
• lightlevel - TI 光 级 传 感 器 。
• 压力 - 原装气压传感器
• 压力 - 新型气压传感器。
• pH - pH 传 感 器 。

Python 菜 单 层 次 图 24
项目 说明
• force10 - 设 置 为 ±10 N、双 力 传 感 器 。
• force50 - 设 置 为 ±50 N、双 力 传 感 器 。
• 加速计 - 低重力加速计。
• 通用 - 允许设置上述不直接支持的其他传
感 器 ,并 使 用 上 述 calibrate() API 设 置 方 程
系数。
Analog In 支持使用模拟输入通用设备。
Digital In 返 回 连 接 到 DIGITAL 对 象 的 数 字 插 针 的 当 前
状 态 ,或 最 近 一 次 为 对 象 设 置 的 数 字 输 出 值
的缓存状态。
电位计 支持电位计传感器。
传 感 器 的 范 围 可 通 过 range() 函 数 更 改 。
热敏电阻器 读取热敏电阻器传感器。
当 与 10KΩ 固 定 电 阻 器 配 合 使 用 时 ,默 认 系 数
专 为 与 TI-Innovator™ Hub 试 验 板 包 中 包 含 的 热
敏电阻器匹配。
可 使 用 calibrate() 函 数 为 热 敏 电 阻 器 配 置 一 组
新的校准系数和参考电阻。
响度 支持声音响度传感器。
颜色输入 提 供 与 I2C 连 接 的 颜 色 输 入 传 感 器 的 接 口 。
除 了 I2C 端 口 外 ,还 使 用 bb_port 插 针 来 控 制
颜 色 传 感 器 上 的 LED。
• color_number(): 返 回 介 于 1 到 9 之 间 的 值 ,
该值代表传感器正在检测的颜色。
数字代表以下映射对应的颜色:
1: 红 色
2: 绿 色
3: 蓝 色
4: 青 色
5: 品 红 色
6: 黄 色
7: 黑 色
8: 白 色
9: 灰 色
• red(): 返 回 介 于 0 到 255 之 间 的 值 ,该 值 表
示 检 测 到 的 红 色 等 级 强度 。
• green(): 返 回 介 于 0 到 255 之 间 的 值 ,该 值
表 示 检 测 到 的 绿 色 等 级 强度 。
• blue(): 返 回 介 于 0 到 255 之 间 的 值 ,该 值

25 Python 菜 单 层 次 图
项目 说明
表 示 检 测 到 的 蓝 色 等 级 强度 。
• gray(): 返 回 介 于 0 到 255 之 间 的 值 ,表 示
检 测 到 的 灰 色 等 级 ,其 中 0 为 黑 色 ,255 为
白色。
BB 端 口 支 持 将 10 个 BB 端 口 插 针 全 部 用 作 组 合 数 字
输 入 /输 出 端 口 。
初 始 化 函 数 包 含 可 选 的 “掩 码 ”参 数 ,允 许 使
用 10 个 插 针 的 子 集 。
• read_port(): 读 取 BB 端 口 输 入 插 针 上 的 当
前值。
• write_port(value): 将 输 出 插 针 值 设 置 为 指
定 值 ,其 中 值 介 于 0 到 1023 之 间 。请 注
意 ,如 果 提 供 了 掩 码 ,则 该 值 也 会 根 据
var=bbport (mask) 运 算 中 的 掩 码 值 进 行 调
整。
Hub 时 间 提供对内部毫秒计时器的访问。
TI-RGB Array 提 供 用 于 对 TI-RGB 阵 列 进 行 编 程 的 函 数 。
初 始 化 函 数 接 受 可 选 的 “LAMP”参 数 ,为 需 要
外 部 电 源 的 TI-RGB 阵 列 启 用 高 亮 度 模 式 。
• set(led_position, r,g,b): 将 特 定 的 led_position
(0-15) 设 置 为 指 定 的 r、g、b 值 ,其 中 r、g、b
为 0 到 255 之 间 的 值 。
• set_all(r,g,b): 将 阵 列 中 的 所 有 RGB LED 设 置
为 相 同 的 r、g、b 值 。
• all_off(): 关 闭 阵 列 中 的 所 有 RGB。
• measurement(): 以 毫 安 为 单 位 从 TI-
Innovator™ 返 回 RGB 阵 列 正 在 使 用 的 近 似
电流消耗。
• pattern(pattern): 使 用 参 数 值 作 为 0 到
65535 范 围 内 的 二 进 制 值 ,打 开 表 示 中 值
为 1 的 像 素 。LED 呈 红 色 亮 起 ,pwm 电 平 值
为 255。

添加输出设备
此菜单有 ti_hub 模块支持的输出设备列表。所有菜单项都会粘贴对象的名
称,并预计有变量和与设备一起使用的端口。

项目 说明
LED 控 制 外 部 连 接 的 LED 的 函 数 。

Python 菜 单 层 次 图 26
项目 说明
RGB 支 持 控 制 外 部 RGB LED。
TI-RGB 提 供 用 于 对 TI-RGB 阵 列 进 行 编 程 的 函 数 。
Array
扬声器 通 过 TI-Innovator™ Hub 支 持 外 部 扬 声 器 的 函 数 。
函 数 与 上 述 的 “声 音 ”的 函 数 相 同 。
功率 通 过 TI-Innovator™ Hub 控 制 外 部 电 源 的 函 数 。
• set(value): 将 功 率 等 级 设 置 为 介 于 0 到 100 之 间 的 指 定 值 。
• on(): 将 功 率 等 级 设 置 为 100。
• off(): 将 功 率 等 级 设 置 为 0。
连续伺服 控制连续伺服电机的函数。
• set_cw(speed,time): 伺 服 电 机 将 以 指 定 的 速 度 (0-255) 在 特 定
持续时间( 以秒为单位) 内顺时针旋转。
• set_ccw(speed,time): 伺 服 电 机 将 以 指 定 的 速 度 (0-255) 在 特
定持续时间( 以秒为单位) 内逆时针旋转。
• stop(): 停 止 连 续 伺 服 。
模拟输出 使用模拟输入通用设备的函数。
振动电机 控制振动电机的函数。
• set(val): 将 振 动 电 机 强度 设 置 为 "val" (0-255)。
• off(): 关 闭 振 动 电 机 。
• on(): 以 最 高 等 级 打 开 振 动 电 机 。
继电器 控制用于控制继电器的接口。
• on(): 将 继 电 器 设 置 为 ON 状 态 。
• off(): 将 继 电 器 设 置 为 OFF 状 态 。
伺服 控制伺服电机的函数。
• set_position(pos): 将 扫 描 伺 服 位 置 设 置 在 -90 到 +90 范 围 内 。
• zero(): 将 扫 描 伺 服 设 置 为 零 位 置 。
方波 生成方波的函数。
• set(frequency,duty,time): 设 置 输 出 方 波 ,默 认 占 空 比 为 50%
( 如 果 未 指 定 占 空 比 ) ,且 输 出 频 率 由 “frequence”指 定 。频 率
可 以 是 1 到 500 Hz。如 有 指 定 ,则 占 空 比 可 为 0 到 100%。
• off(): 关 闭 方 波 。
数字输出 控制数字输出的接口。
• set(val): 将 数 字 输 出 设 置 为 “val”指 定 的 值 ( 0 或 1) 。
• on(): 将 数 字 输 出 的 状 态 设 置 为 高 (1)。
• off(): 将 数 字 输 出 的 状 态 设 置 为 低 (0)。
BB 端 口 提 供 用 于 对 TI-RGB 阵 列 进 行 编 程 的 函 数 。

27 Python 菜 单 层 次 图
项目 说明
请参阅上述详情。

命令

项目 说明
sleep(seconds) 将程序暂停指定的秒数。
从 “时 间 ”模 块 导 入 。
text_at(row,"text","align") 在 绘 图 区 以 指 定 的 “对 齐 ”显 示 指 定 的 “文 本 ”。
ti_plotlib 模 块 的 一 部 分 。
cls() 清 除 用 于 绘 图 的 Shell 屏 幕 。
ti_plotlib 模 块 的 一 部 分 。
while get_key() != "esc": 在 “while”循 环 中 运 行 命 令 ,直 到 按 下 “esc”键 。
get_key() 返回表示按下的按键的字符串。
“1”键 返 回 “1”,“esc”返 回 “esc”,依 此 类推 。
在 没 有 任 何 参 数 的 情 况 下 调 用 get_key(),它 会 立
即返回。
在 使 用 参 数 调 用 get_key(1) 时 ,它 会 等 待 直 到 按 下
一个键。
ti_system 模 块 的 一 部 分 。

Ports
这些是 TI-Innovator™ Hub 上可用的输入和输出端口。

项目
OUT 1
OUT 2
OUT 3
IN 1
IN 2
IN 3
BB 1
BB 2

Python 菜 单 层 次 图 28
项目
BB 3
BB 4
BB 5
BB 6
BB 7
BB 8
BB 9
BB 10
I2C

29 Python 菜 单 层 次 图
TI Rover 菜 单
注 : 创建使用此模块的新程序时,建议使用 Rover 编 码 程序类型。这将确保导
入所有相关模块。

项目 说明
将 ti_rover 导 入 为 rv 从 “rv”命 名 空 间 中 的 ti_rover 模 块 导 入 所 有 方 法 ( 函
数 ) 。因 此 ,从 菜 单 中 粘 贴 的 所 有 函 数 名 称 都 将 以
“rv.”开 头 。

驱动器

项目 说明
forward(distance) 将 Rover 向 前 移 动 指 定 的 距 离 ( 以 网 格 单 元 为 单
位) 。
backward(distance) 将 Rover 向 后 移 动 指 定 的 距 离 ( 以 网 格 单 位 为 单
位) 。
left(angle_degrees) 将 Rover 向 左 转 指 定 的 角 度 ( 以 度 为 单 位 ) 。
right(angle_degrees) 将 Rover 向 右 转 指 定 的 角 度 ( 以 度 为 单 位 ) 。
stop() 立即停止当前的任何运动。
stop_clear() 立即停止当前的任何运动并清除所有等待中的命
令。
resume() 恢复处理命令。
stay(time) Rover 在 原 地 停 留 指 定 的 时 间 ( 以 秒 为 单 位 ,可
选) 。
如 果 未 指 定 时 间 ,则 Rover 将 停 留 30 秒 。
to_xy(x,y) 将 Rover 移 动 到 虚 拟 网 格 上 的 坐 标 位 置 (x,y)。
to_polar(r,theta_degrees) 将 Rover 移 动 到 虚 拟 网 格 上 的 极 坐 标 位 置 (r, theta)

角度以度为单位指定。
to_angle(angle,"unit") 将 Rover 旋 转 到 虚 拟 网 格 中 指 定 的 角 度 。
该角度相对于虚拟网格中指向 x 轴下方的零角
度。

Python 菜 单 层 次 图 30
驱动器 > 带选项的驱动器

项目 说明
forward_time(time) 将 Rover 向 前 移 动 指 定 的 时 间 。
backward_time(time) 将 Rover 向 后 移 动 指 定 的 时 间 。
forward(distance,"unit") 将 Rover 以 默 认 速 度 向 前 移 动 指 定 距
离。
可 以 以 网 格 单 元 、米 或 车 轮 转 数 为 单
位来指定距离。
backward(distance,"unit") 将 Rover 以 默 认 速 度 向 后 移 动 指 定 距
离。
可 以 以 网 格 单 元 、米 或 车 轮 转 数 为 单
位来指定距离。
left(angle,"unit") 将 Rover 向 左 转 指 定 的 角 度 。
角 度 可 以 以 度 、弧 度 或 百 分 度 为 单 位 。
right(angle,"unit") 将 Rover 向 右 转 指 定 的 角 度 。
角 度 可 以 以 度 、弧 度 或 百 分 度 为 单 位 。
forward_time(time,speed,"rate") 将 Rover 以 指 定 速 度 向 前 移 动 指 定 时
间。
可 以 用 网 格 单 元 /秒 、米 /秒 或 车 轮 转 数
/秒 来 指 定 速 度 。
backward_time(time,speed,"rate") 将 Rover 以 指 定 速 度 向 后 移 动 指 定 时
间。
可 以 用 网 格 单 元 /秒 、米 /秒 或 车 轮 转 数
/秒 来 指 定 速 度 。
forward(distance,"unit",speed,"rate") 将 Rover 以 指 定 速 度 向 前 移 动 指 定 距
离。
可 以 以 网 格 单 元 、米 或 车 轮 转 数 为 单
位来指定距离。
可 以 用 网 格 单 元 /秒 、米 /秒 或 车 轮 转 数
/秒 来 指 定 速 度 。
backward(distance,"unit",speed,"rate") 将 Rover 以 指 定 速 度 向 后 移 动 指 定 距
离。
可 以 以 网 格 单 元 、米 或 车 轮 转 数 为 单
位来指定距离。
可 以 用 网 格 单 元 /秒 、米 /秒 或 车 轮 转 数
/秒 来 指 定 速 度 。

31 Python 菜 单 层 次 图
输入

项目 说明
ranger_measurement() 读 取 Rover 正 面 的 超 声 波 测 距 传 感 器 ,返 回 当
前距离( 以米为单位) 。
color_measurement() 返 回 介 于 1 到 9 之 间 的 值 ,表 示 Rover 颜 色 输
入 传 感 器 “看 到 ”的 主 要 颜 色 。
1 = 红色
2 = 绿色
3 = 蓝色
4 = 青色
5 = 品红色
6 = 黄色
7 = 黑色
8 = 灰色
9 = 白色
red_measurement() 返 回 介 于 0 到 255 之 间 的 值 ,该 值 表 示 颜 色
输入传感器看到的感知红色等级。
green_measurement() 返 回 介 于 0 到 255 之 间 的 值 ,该 值 表 示 颜 色
输入传感器看到的感知绿色等级。
blue_measurement() 返 回 介 于 0 到 255 之 间 的 值 ,该 值 表 示 颜 色
输入传感器看到的感知蓝色等级。
gray_measurement() 返 回 介 于 0 到 255 之 间 的 值 ,该 值 表 示 颜 色
输入传感器看到的感知灰色等级。
encoders_gyro_measurement() 返 回 值 列 表 ,其 中 包 含 左 、右 轮 编 码 器 计 数 以
及当前陀螺仪航向。
gyro_measurement() 返回表示当前陀螺仪读数( 包括漂移) 的值
( 以度为单位) 。

输出

项目 说明
color_rgb(r,g,b) 将 Rover RGB LED 的 颜 色 设 置 为 特 定
的 红 色 、绿 色 、蓝 色 值 。
color_blink(frequency,time) 设置所选颜色的闪烁频率和持续时
间。
color_off() 关 闭 Rover RGB LED。
motor_left(speed,time) 将指定持续时间内的左电机功率设

Python 菜 单 层 次 图 32
项目 说明
置为指定值。
速 度 在 -255 到 255 范 围 内 ,0 为 停
止 。正 速 度 值 为 逆 时 针 旋 转 ,负 速
度值为顺时针旋转。
可选时间参数( 如有指定) 的有效范
围 为 0.05 到 655.35 秒 。如 未 指 定 ,
则使用默认值 5 秒。
motor_right(speed,time) 将指定持续时间内的左电机功率设
置为指定值。
速 度 在 -255 到 255 范 围 内 ,0 为 停
止 。正 速 度 值 为 逆 时 针 旋 转 ,负 速
度值为顺时针旋转。
可选时间参数( 如有指定) 的有效范
围 为 0.05 到 655.35 秒 。如 未 指 定 ,
则使用默认值 5 秒。
motors("ldir",left_val,"rdir",right_val,time) 将 左 、右 轮 设 置 为 可 选 时 间 长 度
( 以秒为单位) 内指定的速度等级。
速 度 (left_val, right_val) 值 在 0 到 255
范 围 内 ,0 为 停 止 。ldir 和 rdir 参 数
指 定 相 应 车 轮 的 CW 或 CCW 旋 转 。
可选时间参数( 如有指定) 的有效范
围 为 0.05 到 655.35 秒 。如 未 指 定 ,
则使用默认值 5 秒。

路径

项目 说明
waypoint_xythdrn() 读 取 当 前 路 径 点 的 x-coord、y-coord、时 间 、航 向 、运 动 的
距 离 、车 轮 转 数 、命 令 编 号 。返 回 所 有 这 些 值 都 作 为 元
素的列表。
waypoint_prev 读 取 上 一 个 路 径 点 的 x-coord、y-coord、时 间 、航 向 、运 动
的 距 离 、车 轮 转 数 、命 令 编 号 。
waypoint_eta 返回驱动器到路径点的估算时间。
path_done() 返 回 值 是 0 还 是 1,具 体 取 决 于 Rover 是 正 在 移 动 (0) 还
是 完 成 所 有 移 动 (1)。
pathlist_x() 返回从起点到当前路径点 X 值( 含) 的 X 值列表。
pathlist_y() 返回从起点到当前路径点 Y 值( 含) 的 Y 值列表。
pathlist_time() 返回从起点到当前路径点时间值( 含) 的时间( 以秒为
单位) 列表。

33 Python 菜 单 层 次 图
项目 说明
pathlist_heading() 返回从起点到当前路径点航向值( 含) 的航向列表。
pathlist_distance() 返回从起点到当前路径点距离值( 含) 的运动距离列
表。
pathlist_revs() 返回从起点到当前路径点转数值( 含) 的运动转数列
表。
pathlist_cmdnum() 返回路径的命令编号列表。
waypoint_x() 返回当前路径点的 x 坐标。
waypoint_y() 返回当前路径点的 y 坐标。
waypoint_time() 返回从上一个路径点运动到当前路径点花费的时间。
waypoint_heading() 返回当前路径点的绝对航向。
waypoint_distance() 返回前一个和当前路径点之间的运动距离。
waypoint_revs() 返回在上一个和当前路径点之间运动所需的转数。

设置

项目 说明
单 元 /秒 以 网 格 单 元 /秒 为 单 位 的 速 度 选 项 。
m/s 以 米 /秒 为 单 位 的 速 度 选 项 。
revs/s 以 车 轮 转 数 /秒 为 单 位 的 速 度 选 项 。
单位 以网格单元为单位的距离选项。
m 以米为单位的距离选项。
revs 以车轮转数为单位的距离选项。
度数 以度数为单位的旋转选项。
弧度 以弧度为单位的旋转选项。
百分度 以百分度为单位的旋转选项。
顺时针 指定轮方向的选项。
逆时针 指定轮方向的选项。

命令
这些命令是其他模块以及 TI Rover 模块的函数集合。

Python 菜 单 层 次 图 34
项目 说明
sleep(seconds) 将程序暂停指定的秒数。
从时间模块导入。
text_at(row,"text","align") 在 绘 图 区 以 指 定 的 “对 齐 ”显 示 “文 本 ”。
从 ti_plotlib 模 块 导 入 。
cls() 清 除 用 于 绘 图 的 Shell 屏 幕 。
从 ti_plotlib 模 块 导 入 。
while get_key() != "esc": 在 “while”循 环 中 运 行 命 令 ,直 到 按 下 “esc”键 。
wait_until_done() 暂 停 程 序 ,直 到 Rover 完 成 当 前 命 令 。
这 是 一 种 将 非 Rover 命 令 与 Rover 运 动 同 步 的 有
用方法。
while not path_done() 运 行 “while”循 环 中 的 命 令 ,直 到 Rover 完 成 所 有
移动。
path_done() 函 数 返 回 的 值 是 0 还 是 1,具 体 取 决
于 Rover 是 正 在 移 动 (0) 还 是 完 成 所 有 移 动 (1)。
position(x,y) 将 Rover 在 虚 拟 网 格 上 的 位 置 设 置 为 指 定 的 x,y
坐标。
position(x,y,heading,"unit") 将 Rover 在 虚 拟 网 格 上 的 位 置 设 置 为 指 定 的 x,y
坐 标 ,并 且 如 果 已 提 供 航 向 ,则 设 置 相 对 于 虚 拟
x 轴的虚拟航向( 以指定角度为单位) 。
假 设 从 0 到 360 的 正 角 相 对 于 正 x 轴 为 逆 时 针 方
向 。假 设 从 0 到 -360 的 负 角 相 对 于 正 x 轴 为 顺 时
针方向。
grid_origin() 将 RV 设 置 为 位 于 当 前 网 格 原 点 (0,0)。
grid_m_unit(scale_value) 将 以 米 /单 元 (m/unit) 为 单 位 的 虚 拟 网 格 间 距 设
置 为 指 定 值 。0.1 米 /单 元 为 默 认 值 ,且 转 换 格 式
为 1 个 单 元 = 100 毫 米 或 10 厘 米 或 1 分 米 或 0.1
米。
有 效 scale_value 的 范 围 为 0.01 至 10.0。
path_clear() 清除任何先已存在的路径或路径点信息。
zero_gyro() 重 置 Rover 陀 螺 仪 至 0.0 角 度 ,并 清 除 左 、右 轮 编
码器计数。

35 Python 菜 单 层 次 图
复数运算菜单
此子菜单位于 更 多 模 块 项下方。

项目 说明
from cmath import * 从 cmath 模 块 导 入 所 有 方 法 。
complex(real,imag) 返回一个复数。
rect(modulus,argument) 将极坐标转换为复数的矩形形式。
.real 返回复数的实部。
.imag 返回复数的虚部。
polar() 将矩形形式转换为复数的极坐标。
phase() 返回复数的相位。
exp() 返 回 e**x。
cos() 返回复数的余弦值。
sin() 返回复数的正弦值。
log() 返回复数的自然对数。
log10() 返 回 以 10 为 底 的 复 数 对 数 。
sqrt() 返回复数的平方根。

Python 菜 单 层 次 图 36
时间菜单
此子菜单位于 更 多 模 块 项下方。

项目 说明
from time import * 从时间模块导入所有方法。
sleep(seconds) 将程序暂停指定的秒数。
clock() 以浮点数形式返回当前处理器时间( 以秒为单位) 。
localtime() 将 自 2000 年 1 月 1 日 起 以 秒 表 示 的 时 间 转 换 为 包 含
年 、月 、月 -日 、小 时 、分 钟 、秒 、工 作 日 、年 -日 和 夏 令 时
(DST) 标 志 的 九 元 组 。
如 果 未 提 供 可 选 ( 秒 ) 参 数 ,则 使 用 实 时 时 钟 。
ticks_cpu() 返回带有任意参考点的处理器特定的递增毫秒计数
器。
要 在 不 同 系 统 之 间 一 致 地 度 量 时 间 ,请 使 用 ticks_ms()。
ticks_diff() 测 量 连 续 调 用 ticks_cpu() 或 ticks_ms() 之 间 的 时 间 间 隔 。
此函数不应用于测量任意长的时间段。

37 Python 菜 单 层 次 图
TI 系 统 菜 单
此子菜单位于 更 多 模 块 项下方。
注 : 创建使用此模块的新程序时,建议使用 数 据 共 享 程序类型。这将确保导入
所有相关模块。

项目 说明
from ti_system import * 从 ti_system 模 块 导 入 所 有 方 法 ( 函 数 ) 。
recall_value("name") 调 用 名 为 “name”的 预 定 义 操 作 系 统 变 量 ( 值 ) 。
store_value("name",value) 将 Python 变 量 ( 值 ) 存 储 到 名 为 “name”的 操 作 系
统变量中。
recall_list("name")) 调 用 名 为 “name”的 预 定 义 操 作 系 统 列 表 。
store_list("name",list) 将 Python list (list) 存 储 到 名 为 “name”的 操 作 系 统
列表变量中。
eval_function("name",value) 以指定值计算预定义的操作系统函数。
get_platform() 返 回 手 持 设 备 的 “hh”和 台 式 设 备 的 “dt”。
get_key() 返回表示按下的按键的字符串。
“1”键 返 回 “1”,“esc”返 回 “esc”,依 此 类推 。
在 没 有 任 何 参 数 的 情 况 下 调 用 get_key(),它 会 立
即返回。
在 使 用 参 数 调 用 get_key(1) 时 ,它 会 等 待 直 到 按
下一个键。
get_mouse() 返回鼠标坐标为两个元素的元组、
画 布 像 素 位 置 或 (-1,-1)( 如 果 在 画 布 之 外 ) 。
while get_key() != "esc": 在 “while”循 环 中 运 行 命 令 ,直 到 按 下 “esc”键 。
clear_history() 清 除 Shell 历 史 记 录 。
get_time_ms() 以毫秒精度返回时间( 以毫秒为单位) 。
此 函 数 可 用 于 计 算 持 续 时 间 ,而 不 是 确 定 实 际
时钟时间。

Python 菜 单 层 次 图 38
TI 绘 图 菜 单
此子菜单位于 更 多 模 块 项下方。
注 : 创建使用此模块的新程序时,建议使用 几 何 图 形 程序类型。这将确保导入
所有相关模块。

项目 说明
from ti_draw import * 从 ti_draw 模 块 导 入 所 有 方 法 。

形状

项目 说明
draw_line() 从 指 定 的 x1、y1 坐 标 到 x2、y2 坐 标 绘 制 一 条 线 。
draw_rect() 从 指 定 的 x、y 坐 标 开 始 ,以 指 定 的 宽 度 和 高 度 绘 制 矩 形 。
fill_rect() 从 指 定 的 x、y 坐 标 开 始 ,以 指 定 的 宽 度 和 高 度 绘 制 矩 形 ,并
用 指 定 的 颜 色 进 行 填 充 ( 如 果 未 定 义 ,则 使 用 set_color 或 黑
色) 。
draw_circle() 从 指 定 的 x、y 中 心 坐 标 开 始 ,以 指 定 的 半 径 绘 制 圆 。
fill_circle() 从 指 定 的 x、y 中 心 坐 标 开 始 ,以 指 定 的 半 径 绘 制 圆 ,并 用 指
定 的 颜 色 进 行 填 充 ( 如 果 未 定 义 ,则 使 用 set_color 或 黑 色 ) 。
draw_text() 从 指 定 的 x、y 坐 标 开 始 绘 制 文 本 字 符 串 。
draw_arc() 从 指 定 的 x、y 坐 标 开 始 ,以 指 定 的 宽 度 、高 度 和 角 度 绘 制 圆
弧。
fill_arc() 从 指 定 的 x、y 坐 标 开 始 ,以 指 定 的 宽 度 、高 度 和 角 度 绘 制 圆
弧 ,并 用 指 定 的 颜 色 进 行 填 充 ( 如 果 未 定 义 ,则 使 用 set_color
或黑色) 。
draw_poly() 使 用 指 定 的 x-list、y-list 值 绘 制 多 边 形 。
fill_poly() 使 用 指 定 的 x-list、y-list 值 绘 制 多 边 形 ,并 用 指 定 的 颜 色 进 行
填 充 ( 如 果 未 定 义 ,则 使 用 set_color 或 黑 色 ) 。
plot_xy() 使 用 指 定 的 x、y 坐 标 和 1-13 中 指 定 的 数 字 ( 代 表 不 同 的 图 形
和符号) 绘制图形( 参见下文) 。

39 Python 菜 单 层 次 图
控件

项目 说明
clear() 清 除 整 个 屏 幕 。可 与 x、y、宽 度 、高 度 参 数 一 起 使 用 以 清
除现有矩形。
clear_rect() 清 除 指 定 x、y 坐 标 处 具 有 指 定 宽 度 和 高 度 的 矩 形 。
set_color() 设 置 程 序 中 后 续 图 形 的 颜 色 ,直 到 设 置 另 一 种 颜 色 。
set_pen() 设置绘制图形时边框的指定厚度和样式( 使用填充命令
时不适用) 。
set_window() 设置将在其中绘制任何图形的窗口的大小。
此函数用于调整窗口大小以匹配数据或更改绘图画布的
原 点 (0,0)。
get_screen_dim() 返 回 屏 幕 尺 寸 的 xmax 和 ymax。
use_buffer() 启 用 离 屏 缓 冲 区 ,以 加 速 绘 图 。
paint_buffer() 显示缓冲绘图输出。
在 屏 幕 上 显 示 多 个 对 象 可 能 导 致 延 迟 的 情 况 下 ,use_
buffer() 和 paint_buffer() 函 数 非 常 有 用 。

记事本
• 默认配置在屏幕左上角有(0,0)。指向右侧的正 x 轴和指向底部的正 y 轴,
这可以通过使用 set_window() 函数进行修改。
• ti_draw 模块中的函数仅可在手持设备上及桌面版软件的手持设备视图中
使用。

Python 菜 单 层 次 图 40
TI 图 像 菜 单
此子菜单位于 更 多 模 块 项下方。
注 : 创建使用此模块的新程序时,建议使用 图 像 处 理 程序类型。这将确保导入
所有相关模块。

项目 说明
from ti_image import * 从 ti_image 模 块 导 入 所 有 方 法 。
new_image(width,height,(r,g,b)) 创 建 具 有 指 定 宽 度 和 高 度 的 新 图 像 ,以 用 于
Python 程 序 。
新 图 像 的 颜 色 由 (r,g,b) 值 定 义 。
load_image("name") 加 载 由 “name”指 定 的 图 像 ,以 用 于 Python 程
序。
图 像 必 须 是 “记 事 本 ”或 “图 形 ”应 用 程 序 中
TNS 文 档 的 一 部 分 。
“名 称 ”提 示 将 显 示 图 像 名 称 ( 如 果 先 前 已 命
名) 或表示其插入顺序的数字。
copy_image(image) 创 建 由 “图 像 ”变 量 指 定 的 图 像 副 本 。

图像对象的方法
通过输入后跟 . (dot) 的变量名称,使与图像对象相关的其他函数在编辑器和
Shell 中可用。

• get_pixel(x,y): 获取 (x,y) 坐标对所定义的位置处像素的 (r,g,b) 值。


px_val = get_pixel(100,100)
print(px_val)
• set_pixel(x,y,color_tuple): 将位置 (x,y) 处的像素设置为 color_tuple 中指定的
颜色。
set_pixel(100,100,(0,0,255))

将 (100,100) 处的像素设置为 (0,0,255) 颜色。


• show_image(x,y): 显示左上角位于位置 (x,y) 处的图像。
• w, h, name: 获取图像的宽度、高度和名称参数。
示例
from ti_image import *

41 Python 菜 单 层 次 图
# An image has been previously inserted into the TNS document in a
Notes application and named "bridge"
im1=load_image("bridge")
px_val = im1.get_pixel(100,100)
print(px_val)
# Set the pixel at 100,100 to blue (0,0,255)
im1.set_pixel(100,100,(0,0,255))
new_px = im1.get_pixel(100,100)
print(new_px)
# Print the width, height and name of the image
print(im1.w, im1.h, im1.name)

Python 菜 单 层 次 图 42
变量菜单
注 : 这些列表不包括在任何其他 TI-Nspire™ 应用程序中定义的变量。

项目 说明
Vars: 当 前 程 序 ( 仅限编辑器) 显示当前程序中定义的全局函数和
变量列表
Vars:上 次 运 行 的 程 序 ( 仅 限 Shell) 显 示 上 次 运 行 的 程 序 中 定 义 的 全 局 函
数和变量列表
Vars:全 部 ( 仅 限 Shell) 显 示 上 次 运 行 程 序 和 任 何 导 入 模 块 的
全局函数和变量列表

43 Python 菜 单 层 次 图
附录
Python 关键字 45
Python 键位映射 46
Python 程序样本 48

附录 44
Python 关 键 字
TI-Nspire™ Python 实现中内置以下关键字。

False elif lambda


None else nonlocal
True except not
and finally or
as for pass
assert from raise
break global return
class if try
continue import while
def in with
del is yield

45 附录
Python 键 位 映 射
在编辑器或 Shell 中输入代码时,键盘的设计可以用于粘贴适当的 Python 操
作或打开菜单,以便轻松输入函数、关键字、方法、运算符等。

键位 映射
h 打 开 “变 量 ”菜 单
Ë 粘贴 = 符号
. 删除光标左侧的字符
Ì 不执行任何动作
= 粘贴 = 符号
Í 粘贴所选符号:
• >
• <
• !=
• >=
• <=
• ==
• 和
• 或
• not
• |
• &
• ~
µ 粘贴所选函数:
• sin
• cos
• tan
• atan2
• asin
• acos
• atan
Î 显示提示
Ï 粘 贴 :=
l 粘 贴 **
Ñ 不执行任何动作
q 粘 贴 **2

附录 46
键位 映射
Ò 粘 贴 sqrt()
r 粘 贴 乘 号 (*)
Ó 粘 贴 一 个 双 引 号 (")
p 粘 贴 除 号 (/)
Ô 不执行任何动作
u 粘 贴 exp()
Õ 粘 贴 log()
s 粘 贴 10**
Ö 粘 贴 log(value,base)
( 粘贴 (
) Pastes)
Û 粘贴 [ ]
Ú 粘贴 { }
v 粘 贴 减 号 (-)
Þ 在当前行之后添加新行
i 粘贴 E
º 粘贴所选符号:
• ?
• !
• $
• °
• '
• %
• "
• :
• ;
• _
• \
• #
¹ 粘 贴 "pi"
; 现有标志行为
@ 在当前行之后添加新行

47 附录
Python 程 序 样 本
使用以下程序样本熟悉 Python 方法。也可在位于 示 例 文件夹中的 快 速 入 门
Python.tns 文件中找到它们。
注 : 如果将任何包含制表符缩进指示符的样本代码 (••) 复制并粘贴到 TI-
Nspire™ 软件中,则需要将这些实例替换为实际的制表符缩进。
您好
# This program asks for your name and uses
# it in an output message.
# Run the program here by typing "Ctrl R"
name=input("What's your name? ")
print("Hello, ", name)
print("\n Press ctrl+R to run again")

附录 48
循环示例
# This program uses a "for" loop to calculate
# the squares and cubes of the first 5 numbers
# 0,1,2,3,4
# Note: Python starts counting at 0
for index in range(5):
••square = index**2
••cube = index**3
••print("Index: ", index, "Square: ", square,
••••"Cube: ", cube)

49 附录
正面或反面
# Use random numbers to simulate a coin flip
# We will count the number of heads and tails
# Run the program here by typing "Ctrl R"
# Import all the functions of the "random" module
from random import *
# n is the number of times the die is rolled
def coin_flip(n):
••••heads = tails = 0
••for i in range(n):
# Generate a random integer - 0 or 1
# "0" means head, "1" means tails
••••side=randint(0,1)
••••if (side == 0):
••••••heads = heads + 1
••••else:
••••••tails = tails + 1
# Print the total number of heads and tails
••print(n, "coin flips: Heads: ", heads, "Tails: ", tails)
print("\nPress the Var key and select 'coin_flip()'")
print("In the ( ), enter a number of flips!")

附录 50
绘制
# Plotting example
import ti_plotlib as plt
# Set up the graph window
plt.window(-10,10,-10,10)
plt.axes("on")
plt.grid(1,1,"dashed")
# Add leading spaces to position the title
plt.title(" TITLE")
# Set the pen style and the graph color
plt.pen("medium","solid")
plt.color(28,242,221)
plt.line(-5,5,5,-5,"arrow")
plt.pen("thin","dashed")
plt.color(224,54,243)
plt.line(-5,-5,5,5,"")
# Scatter plot from 2 lists
plt.color(0,0,0)
xlist=[1,2,3,4,5]
ylist=[5,4,3,2,1]
plt.scatter(xlist,ylist, "x")

51 附录
绘制
from ti_draw import *
# (0,0) is in top left corner of screen
# Let's draw some circles and squares
# Circle with center at (50,50) and radius 40
draw_circle(50,50,40)
# Set color to red (255,0,0) and fill a rectangle of
# of width 180, height 80 with top left corner at
# (100,100)
set_color(255,0,0)
fill_rect(100,100,180,80)
# Set color to green and pen style to "thin"
# and "dotted".
# Then, draw a circle with center at (200,100)
# and radius 40
set_color(0,255,0)
set_pen("thin","dotted")
draw_circle(200,100,40)
set_color(0,0,0)
draw_text(20,200,"Press Enter to exit")

附录 52
图像
# Image Processing
#================================
from ti_image import *
from ti_draw import *
#================================
# Load and show the 'manhole_cover' image
# It's in a Notes app
# Draw a circle on top
im1=load_image("manhole_cover")
im1.show_image(0,0)
set_color(0,255,0)
set_pen("thick","dashed")
draw_circle(140,110,100)

53 附录
Hub
此程序使用 Python 控制 TI-Innovator™ Hub( 可编程微控制器) 。在不连接 TI-
Innovator™ Hub 的情况下运行程序将显示错误消息。
有关 TI-Innovator™ Hub 的更多信息,请访问 education.ti.com。
#========== Import Section ==========
from ti_hub import *
from math import *
from random import *
from time import sleep
from ti_plotlib import text_at,cls
from ti_system import get_key
#======== End of Import Section =======
print("Connect the TI-Innovator Hub and hit 'enter'")
input()
print("Blinking the RGB LED for 4 seconds")
# Set the RGB LED on the Hub to purple
color.rgb(255,0,255)
# Blink the LED 2 times a second for 4 seconds
color.blink(2,4)
sleep(5)
print("The brightness sensor reading is: ", brightness.measurement())
# Generate 10 random colors for the RGB LED
# Play a tone on the Hub based on the random
# color
print("Generate 10 random colors on the Hub & play a tone")
for i in range(10):
••r=randint(0,255)
••b=randint(0,255)
••g=randint(0,255)
••color.rgb(r,g,b)
••sound.tone((r+g+b)/3,1)
••sleep(1)
color.off()

附录 54
一般信息
在线帮助
education.ti.com/eguide
选择您的国家,获取更多产品信息。

联 络 TI 支 持 部 门
education.ti.com/ti-cares
选择您的国家,获取技术和其他支持资源。

维修和保修信息
education.ti.com/warranty
选择您所在的国家/地区,了解有关保修期限和条款或产品服务的信息。
保修期内不会影响您的法定权利。
Texas Instruments Incorporated
12500 TI Blvd.
Dallas, TX 75243

55 一般信息

You might also like