第 2 章:数与文本
编程里打交道最多的就是两类数据:数字和文本。这一章把它们讲透。
2.1 数字:整数和小数
基石的数字分两种:
- 整数:
1、42、-7、0 - 小数:
3.14、0.5、-2.75
四则运算和 Python 完全一样:
python打印(7 + 2) # 加法 → 9
打印(7 - 2) # 减法 → 5
打印(7 * 2) # 乘法 → 14
打印(7 / 2) # 除法 → 3.5(注意:除法的结果一定是小数)
打印(7 // 2) # 整除 → 3(只取整数部分)
打印(7 % 2) # 取余 → 1(7 除以 2 余 1)
打印(2 ** 10) # 幂 → 1024(2 的 10 次方)
运算优先级和数学课学的一样:先乘除后加减,括号最优先:
python打印(1 + 2 * 3) # 7
打印((1 + 2) * 3) # 9
2.2 文本:字符串
文本(也叫字符串)是用引号包起来的一串字符。基石里单引号、双引号、中文引号都能用:
python令 问候 = "你好"
令 名字 = '小明'
令 语气 = 「世界」
打印(问候, 名字, 语气)
文本可以用 + 拼接,用 长度 数长度:
python令 完整 = "你好," + "世界" + "!"
打印(完整) # 你好,世界!
打印(长度(完整)) # 7
注意:
"123"是文本,123是数字。文本的"1" + "2"是"12"(拼在一起), 数字的1 + 2才是3。
文本的常用方法
方法就是"贴在值后面的功能",写法是 值.方法名(...):
python令 s = " 基石语言 "
打印(s.去空白()) # 去掉两头的空格 → 基石语言
打印("abc".大写()) # ABC
打印("ABC".小写()) # abc
打印("a-b-c".拆分("-")) # ['a', 'b', 'c'](拆成列表)
打印("你好世界".替换("世界", "基石")) # 你好基石
打印("基石".开头是("基")) # 真
打印("基石".结尾是("石")) # 真
打印("基石".包含("石")) # 真
打印("基石语言".查找("语言")) # 2(找到的位置,找不到返回 -1)
2.3 输入:让程序和人对话
输入(...) 让程序停下来等用户打字:
python令 名字 = 输入("你叫什么名字?")
打印("你好,", 名字)
注意:输入 返回的一定是文本。如果你让用户输入数字并想计算,要先转换:
python令 年龄 = 整数(输入("你几岁?")) # 文本 → 整数
令 身高 = 小数(输入("你多高(米)?")) # 文本 → 小数
转换函数:
整数(文本)—— 转成整数,比如整数("42")→42小数(文本)—— 转成小数,比如小数("2.5")→2.5文本(数字)—— 转成文本,比如文本(3)→"3"
完整的计算器示例:
python令 a = 小数(输入("请输入第一个数:"))
令 b = 小数(输入("请输入第二个数:"))
打印(a, "+", b, "=", a + b)
2.4 列表:一串东西
列表用方括号 [ ] 表示,可以装任意多个值:
python令 水果 = ["苹果", "香蕉", "橘子"]
打印(水果) # ['苹果', '香蕉', '橘子']
打印(长度(水果)) # 3
打印(水果[0]) # 苹果(注意:下标从 0 开始!)
打印(水果[2]) # 橘子
重要:下标从 0 开始。
水果[0]是第一个,水果[1]是第二个……
修改和添加:
python水果[1] = "葡萄" # 把第 2 个换成葡萄
水果.追加("西瓜") # 末尾加一个
水果.插入(0, "草莓") # 在最前面插入
水果.移除("橘子") # 删掉一个橘子
打印(水果)
其他常用方法:
python令 数字 = [3, 1, 4, 1, 5]
数字.排序() # 从小到大 → [1, 1, 3, 4, 5]
数字.反转() # 倒过来
数字.弹出() # 拿走最后一个并返回它
数字.计数(1) # 1 出现了几次
数字.包含(4) # 有没有 4 → 真
数字.索引(5) # 5 在第几个位置
2.5 范围:快速生成数字序列
范围(...) 生成一串整数,常常配合循环用:
python打印(范围(5)) # [0, 1, 2, 3, 4](从 0 开始,不含 5)
打印(范围(1, 5)) # [1, 2, 3, 4]
打印(范围(1, 10, 2)) # [1, 3, 5, 7, 9](步长 2)
2.6 试试看
- 写一个程序:输入一个圆的半径,输出它的面积(圆周率用 3.14159)。
- 创建列表
[5, 2, 8, 1, 9],排序后打印第一个和最后一个元素。 - 输入一句话,用
.去空白()清理后,打印它的长度。 - 把
"基石"重复 3 次拼起来(提示:"基石" * 3在基石里也可以哦,试试看)。
示例代码:
examples/tutorial/02_计算器.jsh、examples/tutorial/03_清单.jsh
本章小结
- 整数、小数、四则运算、
//整除、%取余、**幂 - 文本用引号包起来,
+拼接,长度数长度 - 文本方法:
去空白/大写/小写/拆分/替换/开头是/结尾是/包含/查找 输入得到的是文本,要计算先整数(...)或小数(...)- 列表
[ ],下标从 0 开始,方法:追加/插入/移除/弹出/排序/反转/计数/包含/索引 范围(起, 止, 步长)生成数字序列