学完这一章,你能给数据起名字,并分清数字和文字的区别。
设 年龄 = 18
设 名字 = "小明"
打印(名字)
打印(年龄)
设 的意思是「建立一个新名字」。之后写这个名字,就等于写它代表的东西。
改值不写「设」:
设 分数 = 60
分数 = 90 # 直接改
打印(分数) # 90
设 分数 = 60 是新建(声明)分数 = 90 是改值(赋值)名字已经存在了就不能再「设」一次,否则报错:
设 x = 1
设 x = 2 # 错误 CN0307:重复声明
💡 为什么第二次不写「设」?因为「设」是新建,名字已经有了。写第二次会报
CN0307,提醒你是不是不小心用了同一个名字。
CNplus 里值有这些类型:
| 类型 | 例子 | 说明 |
|---|---|---|
| 整数 | 18 -42 |
任意精度,多大都不溢出 |
| 小数 | 1.5 3.0 |
带小数点的数 |
| 字符串 | "你好" '你好' |
文字,单双引号都行 |
| 布尔 | 真 假 |
只能「是」或「不是」 |
| 空 | 空 |
表示「什么都没有」 |
| 列表 | [1, 2, 3] |
一串东西(见第五章) |
| 字典 | {"名": "小明"} |
按标签取值(见第六章) |
| 函数 | 函数 f() ... |
可以像值一样传递(见第四章) |
数字和文字要分清:
设 年龄 = 18 # 数字,可以拿来算
设 年龄文字 = "18" # 文字,只能显示
两者长得像,但一个是数字、一个是文字。18 + 1 得 19;"18" + "1" 得 "181"(文字拼接)。
打印(类型(18)) # 整数
打印(类型(1.5)) # 小数
打印(类型("你好")) # 字符串
打印(类型(真)) # 布尔
打印(类型(空)) # 空
设 年龄 = 18
打印("我今年" + 文本(年龄) + "岁") # 我今年18岁
直接写 "我今年" + 年龄 会报错——CNplus 不允许数字和文字直接相加,但会告诉你怎么改:
打印("我今年" + 年龄)
# 错误 CN0303:不能把「数字」和「文字」接在一起
# 这样改:先用 文本(...) 把数字转成文字
文本() 能把任何值变成文字:文本(真) 得 "真",文本(空) 得 "空"。
布尔只有两个值,用来回答「是 / 不是」:
设 下雨了 = 真
设 会游泳 = 假
打印(下雨了) # 真
打印(会游泳) # 假
注意显示的是
真/假,不是英文的True/False。这是故意的。
写一个程序,定义 单价 = 12 和 数量 = 3,然后打印一行 "总价是 36 元"(用 文本() 拼接)。
设 单价 = 12
设 数量 = 3
打印("总价是 " + 文本(单价 * 数量) + " 元")
下一章:二、做判断