第一部分:Python基础语法——编程的积木 词条1:变量、数据类型与运算符 官方解释 变量是存储数据的容器,通过标识符(变量名)引用。数据类型定义了数据的种类和可执行的操作。运算符用于对数据进行操作。 Python基本数据类型: 整数(int):如 42, -3, 0 浮点数(float):如 3.14, 2.0, -0.5 字符串(str):如 "hello", 'Python', """多行""" 布尔值(bool):True 或 False 列表(list):有序可变序列,如 [1, 2, 3] 元组(tuple):有序不可变序列,如 (1, 2, 3) 字典(dict):键值对集合,如 {"name": "Alice", "age": 20} 兔狲老师解释
变量是存储数据的容器,通过标识符(变量名)引用。数据类型定义了数据的种类和可执行的操作。运算符用于对数据进行操作。
Python基本数据类型:
变量就像'贴标签的盒子'。
小小猪的比喻:
Python是动态类型语言:不用声明类型,解释器自动推断。
问题:在Python交互环境中执行以下代码,观察结果:
# 定义变量 x = 10 y = 3.14 name = "兔狲教授" is_student = True # 打印类型 print(type(x)) print(type(y)) print(type(name)) print(type(is_student)) # 类型转换 print(float(x)) # 整数转浮点数 print(int(y)) # 浮点数转整数(注意!) print(str(x) + name) # 连接字符串 # 运算符 a = 10 b = 3 print(f"加法: {a} + {b} = {a + b}") print(f"除法: {a} / {b} = {a / b}") print(f"整除: {a} // {b} = {a // b}") print(f"取余: {a} % {b} = {a % b}") print(f"幂运算: {a} ** {b} = {a ** b}") # 比较运算符 print(f"{a} > {b}: {a > b}") print(f"{a} == {b}: {a == b}") print(f"{a} != {b}: {a != b}") # 逻辑运算符 print(f"True and False: {True and False}") print(f"True or False: {True or False}") print(f"not True: {not True}")
记录每个print语句的输出,并解释发生了什么。
问题:为什么编程语言需要不同的数据类型和运算符?
思考方向:
控制结构决定程序的执行流程:
函数是一段可重复使用的代码块,接受输入(参数),执行操作,返回输出(返回值)。
控制结构让程序'有脑子',函数让程序'模块化'。
小小猪的流程图:
开始 → 条件判断 → 是 → 执行A → 结束 ↓ 否 → 执行B → 结束
循环就像'重复劳动':
函数就像'预制菜'或"工具箱":
问题:编写一个综合程序,包含控制结构和函数:
# 1. 控制结构示例:成绩评级 def grade_evaluator(score): """根据成绩返回等级""" if score >= 90: return "A" elif score >= 80: return "B" elif score >= 70: return "C" elif score >= 60: return "D" else: return "F" # 2. 循环示例:打印乘法表 def print_multiplication_table(n): """打印n×n的乘法表""" for i in range(1, n + 1): for j in range(1, n + 1): print(f"{i}×{j}={i*j}", end="\t") print() # 换行 # 3. 函数示例:计算阶乘和判断素数 def factorial(n): """计算n的阶乘""" result = 1 for i in range(1, n + 1): result *= i return result def is_prime(num): """判断一个数是否为素数""" if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True # 4. 主程序 def main(): # 测试成绩评级 scores = [85, 92, 78, 45, 100] for score in scores: grade = grade_evaluator(score) print(f"成绩{score}的等级是:{grade}") print("\n" + "="*50 + "\n") # 打印乘法表 print("5×5乘法表:") print_multiplication_table(5) print("\n" + "="*50 + "\n") # 测试阶乘和素数 print("阶乘计算:") for i in range(1, 6): print(f"{i}! = {factorial(i)}") print("\n素数判断:") numbers = [2, 3, 4, 5, 17, 21, 29] for n in numbers: prime_status = "是" if is_prime(n) else "不是" print(f"{n} {prime_status}素数") # 运行主程序 if __name__ == "__main__": main()
运行并理解每个部分的工作原理。
问题:函数式编程和命令式编程有什么不同?
思考方向: