跳转到内容

使用 Linkbot 学习 Python 3 / Hello, World

来自维基教科书,开放书籍,开放世界
Lesson Information
**To Be Added**
Vocabulary:
Python Editor: a program used to create a block of text that will be sent to Python and interpreted. In this
book we recommend IDLE 3.
Line: a single sentence of programming code.  Lines of code can be used to measure the size of a program and
compare it to other programs.
Function: a type of procedure or routine, a set of instructions to follow.
Argument: data provided to a function as input.  This is like the domain in algebra.
String: a sequence of characters representing either a constant or a variable.
Function Call: 
Necessary Materials and Resources:
Computer Science Teachers Association Standards: L1:3.CT.4:Recognize that software is created to control
computer operations
Common Core Math Practice Standards: CCSS.MATH.PRACTICE.MP5 Use appropriate tools strategically.


你应该知道的

[编辑 | 编辑源代码]

完成本章后,你将了解如何在 Python 编辑器、IDLE 3 或其他文本编辑器中编辑程序、保存程序并运行程序。

从编程教程开始,"Hello World!"[1] 已经成为在屏幕上创建内容的第一个尝试,以下是如何使用 Python 来实现。

print("Hello, World!")

如果你使用命令行运行此程序,则在文本编辑器中输入它,将其保存为 hello.py,然后使用 python3.0 hello.py 运行它。

否则,进入你的 Python 编辑器,创建一个新文件(在 IDLE 中按 Ctrl + N),并像在 创建和运行程序 节中一样创建程序。

运行此程序时,它会打印以下内容

Hello, World!

记住,每当你看到代码作为示例时,最好将其输入并运行它。通过实践学习可能是一种强大的工具!这值得花费时间。

以下是一个使用 Linkbot 说“Hello World”的修改版。添加了注释以帮助你逐步理解代码的作用。

import barobo   #loads 'barobo' module
import time     #loads 'time' module

dongle = barobo.Dongle()  #uses commands from 'barobo' to connect Linkbot
dongle.connect()
robotID = input('Enter Linkbot ID: ')  #prompts user for Linkbot ID
robot = dongle.getLinkbot(robotID)

print ( 'Hello Linkbot Programmer' )   #prints greeting

robot.setBuzzerFrequency(1047)     #calls for pizo buzzer to make a tone
time.sleep(0.25)                   #sets duration of tone
robot.setBuzzerFrequency(1567)     #changes tone
time.sleep(0.5)
robot.setBuzzerFrequency(0)        #turns off tone.

可以随意更改蜂鸣器的频率来改变音调,以及更改 time.sleep 的持续时间,看看它对问候语有什么影响。

现在,这里还有几个程序

print("I pledge allegiance to the flag")
print("of the United States of America,")
print("and to the republic, for which it stands,")

运行此程序时,它会打印出

I pledge allegiance to the flag
of the United States of America,
and to the republic, for which it stands,

当计算机运行此程序时,它首先看到 (像一行代码)

print("I pledge allegiance to the flag")

所以计算机打印

I pledge allegiance to the flag

然后计算机向下移动到下一行,看到

print("of the United States of America,")

所以计算机打印到屏幕上

of the United States of America,

计算机继续查看每一行,遵循命令,然后继续执行下一行。计算机不断运行命令,直到它到达程序的末尾。

控制 Linkbot LED 颜色

[编辑 | 编辑源代码]

Linkbot 配备了多色 LED,它本质上只是一个可以改变颜色的灯光。让我们尝试一个简单的程序来控制 Linkbot 上的 LED 颜色。要开始,请按照以下步骤操作

  • 按下电源按钮,直到 Linkbot 闪烁明亮的红光,从而打开 Linkbot。
  • 大约 5 秒后,Linkbot 会发出哔哔声并显示蓝光。现在你的 Linkbot 已打开!
  • 取一根 Micro-USB 线并将 Linkbot 连接到你的电脑。
  • 打开你的文本编辑器并尝试以下代码:https://wikibooks.cn/wiki/Learning_Python_3_with_the_Barobo_Linkbot
import barobo
myDongle = barobo.Dongle()
myDongle.connect()
myLinkbot = myDongle.getLinkbot()

myLinkbot.setLEDColor(0, 255, 0)

运行此程序时,你应该会注意到 Linkbot 变成了绿色!在你编写的代码中,有三个数字:0、255 和 0。这三个数字决定了 Linkbot 内部红、绿、蓝 LED 的亮度,其中 0 表示最低亮度设置,255 表示最大亮度设置。如果你想尝试让 Linkbot 变成亮紫色,可以尝试将颜色数字设置为“255, 0, 255”。这告诉 Linkbot 将其红色和蓝色 LED 打开到最大亮度。当红光与蓝光混合时,它会呈现紫色!

现在可能是给你解释一下正在发生的事情,以及一些编程术语的好时机。

我们上面所做的是使用名为 print函数。函数名称 - print - 后面跟着包含零个或多个 参数 的括号。因此,在此示例中

print("Hello, World!")

有一个参数,即 "Hello, World!"。注意,此参数是一组包含在双引号("")中的字符。这通常称为字符字符串,简称 字符串。另一个字符串示例是 "Jack and Jill went up a hill"。函数和包含参数的括号的组合称为 函数调用

函数及其参数是 Python 中的一种语句类型,因此

print("Hello, World!")

是一个语句示例。基本上,你可以将语句视为程序中的一行代码。

现在这些术语可能已经足够多了。

表达式

[编辑 | 编辑源代码]

以下另一个程序

print("2 + 2 is", 2 + 2)
print("3 * 4 is", 3 * 4)
print("100 - 1 is", 100 - 1)
print("(33 + 2) / 5 + 11.5 is", (33 + 2) / 5 + 11.5)

这是程序运行时的 输出

2 + 2 is 4
3 * 4 is 12
100 - 1 is 99
(33 + 2) / 5 + 11.5 is 18.5

如你所见,Python 可以将价值数千美元的计算机变成价值 5 美元的计算器。

在此示例中,print 函数后跟两个参数,每个参数之间用逗号隔开。因此,对于程序的第一行

print("2 + 2 is", 2 + 2)

第一个参数是字符串 "2 + 2 is",第二个参数是 数学表达式 2 + 2,通常称为 表达式

需要注意的是,字符串按原样打印(不带包含的双引号),但 表达式 会被 评估 或转换为实际值。

Python 对数字有七种基本运算

运算 符号 示例
幂(指数) ** 5 ** 2 == 25
乘法 * 2 * 3 == 6
除法 / 14 / 3 == 4.666666666666667
整数除法 // 14 // 3 == 4
余数(模运算) % 14 % 3 == 2
加法 + 1 + 2 == 3
减法 - 4 - 3 == 1

注意,除法有两种方式,一种返回循环小数,另一种可以获取余数和整数。运算顺序与数学中的相同

  • 括号 ()
  • 指数 **
  • 乘法 *、除法 /、整数除法 // 和余数 %
  • 加法 + 和减法 -

因此,在需要时使用括号来构建公式。

与人类(和其他智慧生物)对话

[编辑 | 编辑源代码]

在编程中,你经常会做一些复杂的事情,并且可能在将来忘记自己做了什么。在这种情况下,程序可能需要添加注释。注释 是对你自己和其他程序员的说明,解释正在发生的事情。例如

# Not quite PI, but a credible simulation
print(22 / 7)

其输出为

3.14285714286

注意,注释以井号开头:#。注释用于与阅读程序的人员以及将来的自己进行交流,以清楚地说明复杂的部分。

注意,注释后可以是任何文本,并且当程序运行时,从 # 到该行末尾的文本会被忽略。# 不必位于新行的开头

# Output PI on the screen
print(22 / 7) # Well, just a good approximation

每一章(最终)将包含本章中介绍的编程特性的示例。你至少应该浏览一下它们,看看是否理解。如果不理解,可以尝试将其输入并看看会发生什么。随意修改它们,看看会发生什么。

Denmark.py

print("Something's rotten in the state of Denmark.")
print("                -- Shakespeare")

输出

Something's rotten in the state of Denmark.
                -- Shakespeare

School.py

# This is not quite true outside of USA
# and is based on my dim memories of my younger years
print("Firstish Grade")
print("1 + 1 =", 1 + 1)
print("2 + 4 =", 2 + 4)
print("5 - 2 =", 5 - 2)
print()
print("Thirdish Grade")
print("243 - 23 =", 243 - 23)
print("12 * 4 =", 12 * 4)
print("12 / 3 =", 12 / 3)
print("13 / 3 =", 13 // 3, "R", 13 % 3)
print()
print("Junior High")
print("123.56 - 62.12 =", 123.56 - 62.12)
print("(4 + 3) * 2 =", (4 + 3) * 2)
print("4 + 3 * 2 =", 4 + 3 * 2)
print("3 ** 2 =", 3 ** 2)

输出

Firstish Grade
1 + 1 = 2
2 + 4 = 6
5 - 2 = 3

Thirdish Grade
243 - 23 = 220
12 * 4 = 48
12 / 3 = 4
13 / 3 = 4 R 1

Junior High
123.56 - 62.12 = 61.44
(4 + 3) * 2 = 14
4 + 3 * 2 = 10
3 ** 2 = 9
  1. 编写一个程序,分别以字符串形式打印你的全名和生日。
  2. 编写一个程序,展示所有 7 个数学函数的使用。
解决方案

1. 编写一个程序,分别以字符串形式打印你的全名和生日。

print("Ada Lovelace", "born on", "November 27, 1852")
print("Albert Einstein", "born on", "14 March 1879")
print(("John Smith"), ("born on"), ("14 March 1879"))


解决方案

2. 编写一个程序,展示所有 7 个数学函数的使用。

print("5**5 = ", 5**5)
print("6*7 = ", 6*7)
print("56/8 = ", 56/8)
print("14//6 = ", 14//6)
print("14%6 = ", 14%6)
print("5+6 = ", 5+6)
print("9-0 = ", 9-0)



  1. 这里 是一个很棒的列表,包含了许多编程语言中的著名“Hello, world!”程序。这样你就可以知道 Python 有多简单…
使用 Linkbot 学习 Python 3
 ← 简介 你好,世界 谁在那里? → 
华夏公益教科书