以下是针对Python程序设计入门阶段通常对应前四章基础语法、数据类型、流程控制、函数初步设计的四组练习题涵盖经典案例与题型每个题目均包含生动的情景描述和详细的代码注释。练习一基础语法与变量目标熟悉Python基本语法、变量赋值、输入输出和简单运算。经典题型1温度转换器情景设计一个程序将用户输入的华氏温度转换为摄氏温度。知识点输入输出、算术运算、变量。代码# 练习1-1温度转换器 (华氏度转摄氏度) # 公式摄氏度 (华氏度 - 32) / 1.8 # 1. 获取用户输入的华氏温度input()返回的是字符串需用float()转换为浮点数 fahrenheit float(input(请输入华氏温度: )) # 2. 根据公式进行转换计算 celsius (fahrenheit - 32) / 1.8 # 3. 格式化输出结果:.2f表示保留两位小数 print(f{fahrenheit} 华氏度等于 {celsius:.2f} 摄氏度)经典题型2个人名片生成器情景根据输入的姓名、年龄和城市打印一张格式化的个人名片。知识点字符串拼接/格式化、多变量处理。代码# 练习1-2个人名片生成器 # 使用f-string进行字符串格式化 print( 个人名片生成系统 ) # 依次获取用户信息 name input(请输入您的姓名: ) age input(请输入您的年龄: ) city input(请输入您所在的城市: ) # 使用f-string嵌入变量表示换行card f 名 片 姓名{name}年龄{age}城市{city}print(card)练习二数据类型与操作目标掌握字符串、列表、元组、字典的基本操作。经典题型3单词统计器情景输入一个英文句子统计其中单词的个数假设单词间以空格分隔。知识点字符串方法split()、列表长度。代码# 练习2-1单词统计器 # 核心使用split()方法将字符串按空格分割成单词列表 sentence input(请输入一个英文句子: ) # 使用strip()先去除首尾可能存在的空格防止空字符串影响计数 sentence_cleaned sentence.strip() # 使用split()方法默认按任意空白字符空格、换行、制表符等分割字符串返回单词列表 words_list sentence_cleaned.split() # len()函数获取列表的长度即单词个数 word_count len(words_list) print(f句子 {sentence} 中共有 {word_count} 个单词。)经典题型4学生成绩管理系统简化版情景使用字典存储一个学生的多门课程成绩并计算平均分。知识点字典创建、访问、遍历数值计算。代码# 练习2-2学生成绩管理系统单学生版 # 核心字典存储键值对遍历字典的值进行计算 # 初始化一个学生成绩字典键为科目值为分数 student_scores { 数学: 85, 语文: 92, 英语: 78, 物理: 88, 化学: 90 } print(f学生成绩单{student_scores}) # 计算总分 total_score 0 # 遍历字典只取成绩值进行累加 for subject, score in student_scores.items(): total_score score # 计算平均分len(student_scores)获得科目数 average_score total_score / len(student_scores) print(f总分{total_score}) print(f平均分{average_score:.2f}) # 保留两位小数 # 额外找出最高分和最低分的科目 max_subject max(student_scores, keystudent_scores.get) # key参数指定比较的依据是值 min_subject min(student_scores, keystudent_scores.get) print(f最高分科目{max_subject} ({student_scores[max_subject]}分)) print(f最低分科目{min_subject} ({student_scores[min_subject]}分))练习三流程控制条件与循环目标熟练运用if-elif-else分支结构和for/while循环。经典题型5猜数字游戏情景程序随机生成一个数字用户反复猜测直到猜对为止并给出“太大/太小”的提示。知识点随机数生成、while循环、条件判断、循环控制break。代码# 练习3-1猜数字游戏 # 核心while循环实现反复猜测if-elif进行条件判断 import random # 导入随机数模块 # 1. 生成一个1到100之间的随机整数作为目标数字 target_number random.randint(1, 100) guess_count 0 # 计数器记录猜测次数 print(欢迎来到猜数字游戏) print(我已经想好了一个1到100之间的整数请开始你的猜测。) # 2. 使用while循环条件为True构成一个“无限循环”靠内部的break退出 while True: # 获取用户输入并转换为整数 try: user_guess int(input(请输入你的猜测1-100: )) except ValueError: # 处理非数字输入 print(输入无效请输入一个整数) continue # 跳过本次循环剩余部分直接进入下一次循环 guess_count 1 # 猜测次数加1 # 3. 判断猜测结果 if user_guess target_number: print(猜小了再试试) elif user_guess target_number: print(猜大了再试试) else: # user_guess target_number print(f恭喜你猜对了数字就是 {target_number}。) print(f你总共猜了 {guess_count} 次。) break # 猜对后跳出while循环游戏结束经典题型6打印九九乘法表情景使用循环嵌套打印出格式规整的九九乘法表。知识点for循环嵌套、字符串格式化对齐。代码# 练习3-2打印九九乘法表 # 核心两层for循环嵌套外层控制行内层控制列 print( 九九乘法表 ) # 外层循环控制行数从1到9 for i in range(1, 10): # 内层循环控制每行打印的列数第i行就打印i个式子 for j in range(1, i 1): # 使用f-string格式化输出:4 表示左对齐且占用4个字符宽度使表格对齐 # end 表示打印完不换行用空格结尾 print(f{j} x {i} {i * j:4}, end) # 内层循环结束后打印一个换行开始下一行 print() print()练习四函数初步目标理解函数定义、参数传递和返回值。经典题型7计算器函数情景定义一个函数接收两个数字和一个运算符-*/返回运算结果。知识点函数定义、参数、返回值、条件判断。代码# 练习4-1简易计算器函数 # 核心定义带多个参数的函数根据参数值进行不同操作并返回结果 def simple_calculator(num1, num2, operator): 一个简单的四则运算计算器函数。 参数 num1 (float): 第一个操作数 num2 (float): 第二个操作数 operator (str): 运算符支持 , -, *, / 返回 float: 运算结果。如果运算符不支持或除数为0返回错误信息字符串。 if operator : result num1 num2 elif operator -: result num1 - num2 elif operator *: result num1 * num2 elif operator /: if num2 0: # 处理除数为0的情况 return 错误除数不能为零 result num1 / num2 else: # 处理不支持的运算符 return f错误不支持的运算符 {operator} # 正常情况返回计算结果 return result # 测试函数 print(simple_calculator(10, 5, )) # 输出15.0 print(simple_calculator(10, 5, -)) # 输出5.0 print(simple_calculator(10, 5, *)) # 输出50.0 print(simple_calculator(10, 5, /)) # 输出2.0 print(simple_calculator(10, 0, /)) # 输出错误除数不能为零 print(simple_calculator(10, 5, %)) # 输出错误不支持的运算符 %经典题型8查找列表最大值与最小值函数情景不适用内置的max()和min()函数自己编写函数找出列表中的最大值和最小值。知识点函数定义、遍历列表、返回值可返回多个值。代码# 练习4-2查找列表极值函数手动实现 # 核心遍历列表通过比较更新最大值和最小值变量 def find_max_min(numbers): 查找一个数值列表中的最大值和最小值。 参数 numbers (list): 一个包含数字的列表 返回 tuple: 包含两个元素的元组(最大值 最小值)。如果列表为空返回(None, None)。 # 处理空列表的特殊情况 if not numbers: return None, None # 初始化最大值和最小值为列表的第一个元素 max_val numbers[0] min_val numbers[0] # 遍历列表中剩余的元素 for num in numbers[1:]: if num max_val: max_val num # 发现更大的数更新最大值 if num min_val: min_val num # 发现更小的数更新最小值 # 返回一个包含最大值和最小值的元组 return max_val, min_val # 测试函数 test_list1 [34, 12, 78, 23, 99, 3, 56] max1, min1 find_max_min(test_list1) # 使用元组解包接收两个返回值 print(f列表 {test_list1} 中最大值是 {max1}最小值是 {min1}。) test_list2 [] max2, min2 find_max_min(test_list2) print(f空列表 {test_list2} 中最大值是 {max2}最小值是 {min2}。)参考来源Python注释符从单行到文档注释的全面指南Spring_couplet_generation 为编程学习添趣用生成的对联注释Python源码清华大学Python程序设计课程实战资源包技术经典图书(附电子版下载地址)我的Python学习之路一_Mr_Ouyangpython爬取小说章节信息用pygame进行数据显示_爬虫不过如此python的Re 、Requests、BeautifulSoup 详细篇...