Python基础教程:循环控制与字典集合核心用法解析
本文通过可运行的代码示例,系统讲解 Python 中的循环结构(for、while)、流程控制关键字(break、continue),以及字典与集合的常用操作方法。涵盖数据遍历、累加计算、条件验证与去重集合等核心语法,帮助初学者快速建立基础编程逻辑。
掌握 Python 循环结构与流程控制
第1步:使用 for...in 遍历序列
目的:将列表、元组或生成的数字区间逐一取出并进行处理。入口:标准 Python 解释器或 IDE。动作:声明目标容器或直接调用 range() 函数,随后使用 for 变量 in 可迭代对象: 语法自动拆解赋值。重要参数:range(stop) 生成左闭右开区间,默认步长为1;也可直接传入显式定义的列表。可观察的完成状态:控制台按顺序逐行打印每个元素,累加变量准确输出最终求和结果。
# 遍历列表
studentNames = ["Willard","ChenJD","ChenBao","LinWenYu"]
for studentName in studentNames:
print(studentName)
print("------------------------------------------------")
# 计算1-10的累加和
sumOfNums = 0
for num in [1,2,3,4,5,6,7,8,9,10]:
sumOfNums = sumOfNums + num
print("1-10的累加和是:", sumOfNums)
print("------------------------------------------------")
# 使用 range() 计算1-1000的累加和
sumOfNums = 0
for num in range(1001):
sumOfNums += num
print("1-1000的累加和是:", sumOfNums)
# 控制台输出: Willard ChenJD ChenBao LinWenYu ------------------------------------------------ 1-10的累加和是: 55 ------------------------------------------------ 1-1000的累加和是: 500500
第2步:通过 while 配合条件重复执行
目的:在迭代次数未知但依赖动态条件时持续运行逻辑。入口:条件判断块 while 布尔表达式:。动作:设置初始状态变量,循环体内逐步修改变量值或读取外部状态,直到表达式评估为 False。重要参数:表达式结果必须能随循环执行发生明确变化,避免死循环。可观察的完成状态:程序严格按条件收敛,正确输出累计结果并自然退出循环。
# 计算100以内的奇数和
sumOfNums = 0
n = 99
while n > 0:
sumOfNums += n
n = n - 2
print("100以内的奇数累加和为:", sumOfNums)
# 控制台输出: 100以内的奇数累加和为: 2500
第3步:利用 break 与 continue 精准控制流程
目的:在不完整跑完循环周期的前提下,动态中断或跳过特定迭代。入口:放置于 if 条件分支内部。动作:break 立即终止当前所在最内层循环并跳出;continue 跳过本次迭代剩余代码,直接回到循环头部进行下一次条件判断。重要参数:触发条件通常基于边界值或异常标记。可观察的完成状态:break 示例中打印到指定阈值即停止并执行后续代码;continue 示例中特定数值被智能过滤,其余正常输出。
# break:满足条件时提前退出
n = 1
while n < 20:
if n > 10:
break
print("n的值为:", n)
n += 1
print("The End.")
# continue:跳过指定值继续下一次循环
n = 10
while n < 20:
n += 1
if n == 15:
continue
print("n的值为:", n)
print("The End.")
第4步:实战演练——带重试机制的登录逻辑
目的:组合计数限制、条件验证与流程控制,实现安全的用户输入校验。入口:交互式 input() 获取凭据,配合计数器变量。动作:设定总尝试次数,进入 while 循环比对账号密码;成功则 break 放行,失败则扣减余量并提示剩余机会,再次调用 input() 刷新输入。重要参数:totalFrequency 定义上限,inputFrequency 追踪已用次数。可观察的完成状态:正确凭据即时登录;错误凭据扣除机会并在耗尽时强制退出,控制台清晰反馈每一步状态。
totalFrequency = 3
inputFrequency = 0
userName = input("请输入您的账号:")
password = input("请输入您的密码:")
while inputFrequency < totalFrequency:
if ((userName == "Willard") and (password == "JD584520")):
print("账号密码正确,登录成功!")
break
else:
print("账号或密码输入错误,登录失败!")
if (totalFrequency - inputFrequency - 1) == 0:
break
print("请重新登录!您还有%d次输入账号密码的机会!" % (totalFrequency - inputFrequency - 1))
print("----------------------------------------")
inputFrequency += 1
userName = input("请重新输入您的账号:")
password = input("请重新输入您的密码:")
理解字典与集合的数据操作
第1步:创建、增删改查字典元素
目的:利用键值对映射关系高效存储与检索关联数据。入口:使用花括号 {} 或 dict() 初始化。动作:[key] 直接读写;in 检查键存在性;.get(key, default) 安全取值防报错;.pop(key) 移除条目。重要参数:Key 必须为不可变对象(如字符串、整数)。可观察的完成状态:原有数据准确替换,缺失键安全返回默认值,指定键彻底移出内存。
studentScore = {
"Willard": {"Math": 100, "Chinese": 98, "Eng": 90},
"ChenJD": {"Math": 99, "Chinese": 100, "Eng": 98},
"ChenBao": {"Math": 100, "Chinese": 99, "Eng": 96}
}
print("Willard的成绩是:", studentScore["Willard"])
print("ChenJD的成绩是:", studentScore["ChenJD"])
print("ChenBao的成绩是:", studentScore["ChenBao"])
print("---------------------------------------------")
# 修改元素的值
print("Willard原来的成绩是:", studentScore["Willard"])
studentScore["Willard"] = {"Math": 100, "Chinese": 100, "Eng": 100}
print("修改后Willard的成绩是:", studentScore["Willard"])
print("---------------------------------------------")
# 判断key是否存在
if "ChenXiaoBao" not in studentScore:
print("不存在'ChenXiaoBao'这个key.")
print("---------------------------------------------")
# 通过get()方法安全取值
print(studentScore.get("Willard"))
print(studentScore.get("Willard"), -1)
print("---------------------------------------------")
# 删除一个key
print("删除前的字典:", studentScore)
studentScore.pop("ChenBao")
print("删除后的字典:", studentScore)
# Tips:字典的key必须是不可变对象,list是可变的
第2步:构建唯一集合并执行数学运算
目的:管理一组独立元素,自动剔除冗余并支持集合论运算。入口:通过 set() 接收列表或其他可迭代对象初始化。动作:.add(value) 插入新成员;.remove(value) 强制移除指定项;使用运算符 & 计算交集,| 计算并集。重要参数:集合天然具备哈希去重特性。可观察的完成状态:初始化后重复数字自动合并,新增与删除操作实时反映,数学运算输出符合集合定义的精确子集与全集。
# 创建一个set,提供一个list作为输入集合
setEg = set([1,2,3])
print("集合setEg的内容:", setEg)
print("------------------------------")
# 集合的元素唯一性
setEg2 = set([1,1,1,2,3,4,5,3,2])
print("集合setEg2的内容:", setEg2)
print("------------------------------")
# 添加元素
setEg = set([1,2,3])
print("添加元素前集合的内容:", setEg)
setEg.add(5)
print("添加元素后集合的内容:", setEg)
print("------------------------------")
# 删除元素
setEg = set([1,2,3])
print("删除元素前集合的内容:", setEg)
setEg.remove(1)
print("删除元素后集合的内容:", setEg)
print("------------------------------")
# 交集、并集
setOne = set([1,2,3,4,5])
setTwo = set([1,2,4,6])
print("setOne集合的内容:", setOne)
print("setTwo集合的内容:", setTwo)
print("setOne和setTwo的交集:", (setOne & setTwo))
print("setOne和setTwo的并集:", (setOne | setTwo))
总结
循环结构配合控制流关键字是编写自动化逻辑的基石,而字典与集合则为高效管理结构化数据提供了原生支持。掌握 for/while 的执行条件、break/continue 的拦截时机,以及字典的键值映射与集合的去重特性,能够大幅简化日常脚本与数据处理任务。以上就是Python循环与数据结构基础的详细内容,更多关于Python编程语言教程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









