💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ### 课前准确: * 在`Windows`系统里安装`python`,参考 [安装python](https://www.kancloud.cn/k12edu/k_12/785427#Windowspython_4) ***** ### 本节课参考书目 * `Teach Your Kids to Code.pdf` 第三章:数字和变量 ***** ### 数字 `python` 可以用来做计算,例如下面这些简单的计算。 ``` >>> 4 + 2 6 >>> 4 - 2 2 >>> 4 * 2 8 >>> 4 / 2 2 >>> 4 ** 2 16 >>> (4 + 2) * 3 18 ``` 在`python` 里计算和我们平常在纸上写算式还是不一样的,下面这种写法是不对的,会报错。 ``` >>> What is 4 + 2? SyntaxError: invalid syntax >>> 3 + 3 = SyntaxError: invalid syntax ``` ***** ### 变量 #### 什么是变量 ***** `>>> my_name = 'Max'` ***** 这句代码里,`my_name` 就是一个变量,它的名字是`my_name` 。我们把`Max` 指定给 `my_name` 。这里`=` 是“指定给”的意思,和数学里的`=` 有一点不同。 变量有一些好处。例如,对于一些很长的数字,人们很难记住,那么最好给它指定一个变量。例如`3456323255334353342` ,每次用到这个数字,如果靠人回忆就太麻烦了,而且也容易出错,最好的办法是让计算机帮忙把这个数字记住,同时起一个容易记忆的名字,就像这样: ***** `>>> my_num = 3456323255334353342` ***** 我们把这串数字指定给`my_num` 之后,在接下来的程序里,就可以使用`my_num` 代替这串数字: ***** ``` >>> my_num = 3456323255334353342 >>> print(my_num) # 打印 my_num >>> my_num + my_num # 两个 my_num 求和 ``` ***** 这有点像手机里的通讯录,记住所有电话号码是一件很难的事情,所以我们给每个电话号码指定一个名字(就是变量,“变”的意思是,名字可以不变,但名字对应的电话号码可能会变,例如换号)。 #### 变量类型 所有通过键盘输入的内容,都可以指定给一个变量。这里介绍三种简单的变量类型(还有很多更复杂的变量类型): 1. 字符串。把从键盘输入的内容用英文输入法的单引号或双引号括起来就是字符串,注意是用**英文输入法的单引号或双引号括**(否则程序会报错)。 ``` >>> my_name = "Max" >>> my_chinese_name = "小眀" ``` 2. 数字。就是 `0 1 2 3 4 5 6 7 8 9` 这些数字的任意组合。注意,数字不能用英文输入法的单引号或双引号括起来,括起来之后就不是数字变量了,而是字符串了。 ``` >>> my_num = 12 # my_num 记住的是一个数字12 >>> my_num + my_num # 数字可以求和 24 >>> my_wrong_name = "12" #my_num 记住的不是一个数字12,而是一个字符串 >>> my_wrong_name + my_wrong_name #字符串不能求和,但可以拼接 '1212' ``` 3. 列表。列表的例子如下: ***** ``` corlors = ["red", "yellow", "blue", "green"] ``` ***** 意思就是把红、黄、蓝、绿四种颜色放在`corlors` 变量里存储起来。如果我们想找到某个颜色,要按顺序,而且是从零开始查找。 ``` >>> corlors = ["red", "yellow", "blue", "green"] >>> print(corlors[0]) # 红色是变量corlors里的第一个 red >>> print(corlors[1]) # 黄色是变量corlors里的第二个 yellow >>> print(corlors[2]) # 蓝色是变量corlors里的第三个 blue >>> print(corlors[3]) # 绿色是变量corlors里的第四个 green ``` ***** ### 编程练习一:认识变量和数字 新建一个文件,写入下面这些代码,文件保存为`ThankYou.py` 。 ``` my_name = "Bryson" my_age = 38 your_name = input("你叫什么名字 ") your_age = input("你多大了? ") print("我的名字是", my_name, ", 我", my_age, "岁了。") print("你的名字是", your_name, ", 你", your_age, "岁了。") print("很高兴和你一起学编程", your_name, "!") ``` 按`F5` 执行这段代码: ``` ============= RESTART: C:/ThankYou.py ============= 你叫什么名字 小明 你多大了? 8 我的名字是 Bryson , 我 38 岁了。 你的名字是 小明 , 你 8 岁了。 很高兴和你一起学编程 小明 ! ``` ***** ### 编程练习二:给必胜客做一个计算器 编程任务: 1. 必胜客服务员问顾客想要多少个 Pizza ? 2. 顾客问每个 Pizza 的单价是多少? 3. 计算 Pizza 的总价是多少? 新建一个文件,写入下面这些代码,文件保存为`AtlantaPizza.py` 。 ``` # AtlantaPizza.py - Pizza计算器 # 必胜客服务员问顾客想要多少个 Pizza: number_of_pizzas = eval(input("How many pizzas do you want? ")) # 顾客问每个 Pizza 的单价是多少: cost_per_pizza = eval(input("How much does each pizza cost? ")) # 计算 Pizza 的总价是多少: total = number_of_pizzas * cost_per_pizza # 打印账单 print("The total cost is ¥",total) ``` 按下`F5` 看看会出现什么。 ***** ### 编程练习三:打印一百个彩色名字 新建一个文件,写入下面这些代码,文件保存为` SpiralMyName.py` 。 ``` # SpiralMyName.py - 打印一百个彩色名字 #导入turtle模块 import turtle # 打开一个画图板 t = turtle.Pen() # 改变背景颜色 turtle.bgcolor("black") # 画笔的颜色有四种,红、黄、蓝、绿 colors = ["red", "yellow", "blue", "green"] # 打开文本输入框,询问你的名字 your_name = turtle.textinput("输入你的名字", "你叫什么名字?") # 画一百个不同颜色的你的名字 for x in range(100): t.pencolor(colors[x%4]) # 每移动一次就换一次颜色 t.penup() # 把笔抬起来,不要画 t.forward(x*4) # 让笔在屏幕上方移动 t.pendown() # 落笔,准备写下你的名字 t.write(your_name, font = ("Arial", int( (x + 4) / 4), "bold") ) # 写下你的名字 t.left(92) # 向左转92° ``` ***** ### 课程小结 * 在`python` 里可以直接输入数字进行计算。 * `python` 有一些基本变量类型,例如字符串、数字、列表,在不同场景下我们会用到不同类型的变量。