第二课:小小的“盒子” – 变量和数据类型

  • 时长: 90 分钟
  • 教学目标:
    • 理解变量的概念:用来存放数据的一个“名字”或“盒子”。
    • 学会如何在 Python 中创建一个变量,并把一个值“放”进去(赋值)。
    • 知道给变量起名字需要遵守的规则。
    • 认识几种常见的数据“类型”:整数、小数、文字。
    • 学会使用 input() 命令,让程序接收你输入的信息。
    • 知道 input() 接到的信息总是文字,如果想当数字用,需要“转换”一下。

课程内容

1. 复习与引入 (10 分钟)

  • 复习: 快速回顾上一节课的内容:print() 输出,代码顺序执行,注释。
  • 提出问题: 老师提问:“我们之前计算了 8 加 9 等于 17。如果后面我们还想用这个结果 17 做别的事情,比如让 17 再乘以 2,怎么办?每次都重新写 17 方便吗?如果我想记住你的名字,等一下再打印出来,怎么‘记住’它呢?”
  • 引出变量: 这时候,我们就需要一个东西来“记住”或“存储”信息,就像一个有名字的“盒子”或者“魔法袋”,可以把东西放进去,需要的时候再拿出来用。这个“盒子”在编程里就叫做变量

2. 变量的创建和使用 (20 分钟)

  • 变量概念: 变量就是一个名字,用来代表我们存进去的那个值。
  • 赋值操作: 使用等号 = 来把一个值“放”进变量里。等号左边是变量名,右边是你要存的值。
    # 创建一个变量叫做 score,把 100 放进去
    score = 100
    
    # 创建一个变量叫做 my_name,把文字 "小明" 放进去
    my_name = "小明"
    
  • 使用变量: 直接使用变量的名字,就代表它里面存的值。
    print(score) # 会打印 100
    print("你好,", my_name) # 会打印 你好, 小明
    
  • 改变变量的值: 变量里的值是可以改变的,再给它赋一个新值就行了。
    age = 10
    print("我今年", age, "岁") # 打印 10
    
    age = 11 # 明年长一岁,改变 age 的值
    print("明年我", age, "岁了") # 打印 11
    
  • 变量命名规则: 讲解给变量起名字的规定:
    • 可以用字母、数字、下划线 _
    • 不能以数字开头。
    • 不能使用 Python 已经有特殊用途的名字(关键字),比如 print, if, for 等。
    • 区分大小写(nameName 是两个不同的变量)。
    • 建议起一个有意义的名字,让自己和别人知道这个变量是用来干什么的。
  • 动手实践: 学生跟着老师创建几个变量,给它们赋不同的值,然后打印出来,再尝试改变变量的值。

3. 不同的数据“类型” (15 分钟)

  • 类型概念: 电脑里的数据有很多种,“数字”和“文字”就是不同的类型。Python 会自动识别你给变量赋值的数据是什么类型。
  • 常见类型介绍:
    • 整数 (int): 没有小数点的数字,比如 10, -5, 0。
    • 小数 (float): 有小数点的数字,比如 3.14, -0.5, 2.0。
    • 文字 (str): 用引号包起来的内容,比如 “你好”, ‘编程’, “123” (注意,用引号包起来的数字也是文字)。
  • 查看类型 – type(): 使用 type() 命令可以知道一个变量或一个值的数据类型。
    a = 10       # 整数 int
    b = 3.14     # 小数 float
    c = "Python" # 文字 str
    d = "5"      # 文字 str
    
    print(type(a))
    print(type(b))
    print(type(c))
    print(type(d))
    
  • 类型的问题: 不同类型的数据不能随便混合使用,特别是文字和数字不能直接相加减。
    # print("我的年龄是" + age) # 错误! age 是数字,不能直接和文字相加
    

    (这里可以简单提一下类型转换,后面会再用到)

4. 让程序“听”你说 – input() (15 分钟)

  • input() 的作用: input() 命令可以让程序暂停,等待用户在键盘上输入信息,然后把用户输入的内容拿回来。
  • 语法: 通常我们会把用户输入的内容存到一个变量里:变量名 = input("提示文字")。提示文字会在屏幕上显示,告诉用户应该输入什么。
    # 询问用户的名字,并把输入内容存到 name 变量里
    name = input("请输入你的名字:")
    print("你好," + name + "!") # 使用 + 连接文字和变量里的文字
    
  • input() 的“秘密”: input() 获取到的内容,永远是文字(字符串 str!即使你输入的是数字,它也会被当成文字。
    # 用户输入 18
    age_str = input("请输入你的年龄:") # age_str 变量里存的是文字 "18"
    print(type(age_str)) # 会打印 <class 'str'>
    
    # 如果想用这个年龄做计算,需要转换成数字
    # print(age_str + 1) # 错误! 文字不能直接加数字
    age = int(age_str) # 把文字 "18" 转换成数字 18 存到 age 变量里
    print(type(age)) # 会打印 <class 'int'>
    print(age + 1)   # 现在可以做计算了!打印 19
    
  • 动手实践: 学生编写程序,使用 input() 获取自己的名字,然后打印一句欢迎的话。 尝试获取一个数字输入,并把它转换成数字类型。

5. 课堂练习 (15 分钟)

让学生独立完成以下练习:

  • 练习 1: 编写一个程序,询问你最喜欢的颜色,然后打印“我也喜欢 [用户喜欢的颜色]!”(使用变量和 input())。
  • 练习 2: 编写一个程序,询问你的身高(厘米),把身高存到一个变量里,然后打印出你的身高。
  • 练习 3: 编写一个简单的加法计算器。询问用户输入第一个数字,再询问用户输入第二个数字。将它们都转换为数字类型,计算它们的和,然后打印出结果。
    # 在这里写你的代码
    num1_str = input("请输入第一个数字:")
    # TODO: 将 num1_str 转换为数字类型存到 num1 变量里
    # TODO: 获取第二个数字并转换为数字类型
    # TODO: 计算两个数字的和
    # TODO: 打印结果
    

6. 总结与提问 (10 分钟)

  • 回顾: 回顾变量的作用、创建和赋值,变量命名规则,常见数据类型 (int, float, str),type() 的作用,input() 的用法,以及 input() 总是返回字符串需要时进行类型转换。
  • 提问:
    • 变量有什么用?
    • my_age = 10 这行代码创建了一个什么类型的变量?
    • user_name = input("你的名字?") 这行代码执行后,user_name 里存的数据是什么类型?
    • 如何把用户输入的文字“5”变成数字 5?
  • 答疑: 回答学生的问题。

7. 布置课后作业 (5 分钟)

  • 作业 1: 编写一个程序,询问你的名字、年龄、最喜欢的食物,分别存在不同的变量里,然后用一句话把这些信息打印出来,比如:“我的名字是[名字],我今年[年龄]岁,我喜欢吃[食物]。”
  • 作业 2: 编写一个程序,询问用户购买商品的单价和数量(假设都是整数),计算总价并打印出来。
  • 作业 3: (选做) 编写一个程序,询问用户的出生年份(整数),计算并打印出用户的大致年龄。(提示:用今年的年份减去出生年份)。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。