章节主张 用户输入和 while 循环的组合,是程序从静态脚本走向持续交互系统的第一步。
中文释读 前面的代码多半还是作者预先写好、程序按设定跑完;到了这里,外部用户终于进场了。input()、类型转换、取模、标志、break、continue 和循环安全性,实际上是在教你如何管理一个仍在运行中的系统。用户的输入不会永远按剧本来,这正是程序开始变真实的地方。
关键论点 while 循环让程序能保持运行直到满足退出条件。 输入处理往往伴随类型转换与合法性判断。 循环控制的清晰性直接影响程序稳定性。
行动清单 设计明确的退出条件,避免无限循环。 处理用户输入时先想清楚类型与边界。 学会用标志和 break 表达不同层次的停止逻辑。
源章节深读
第 7 章 ⽤户输⼊和 while 循环 ⼤多数程序旨在解决最终⽤户的问题,因此通常需要从⽤户那⾥获取 ⼀些信息。假设有⼈要判断⾃⼰是否到了投票年龄。要编写回答这个 问题的程序,就需要知道⽤户的年龄。因此,这种程序需要让⽤户输 ⼊( input )年龄,再将其与投票年龄进⾏⽐较,这样才能判断⽤户是 否到了投票年龄,并给出结果。 在本章中,你将学习如何接受⽤户输⼊,让程序对其进⾏处理。当程序需 要⼀个名字时,你需要提⽰⽤户输⼊该名字;当程序需要⼀个名单时,你 需要提⽰⽤户输⼊⼀系列名字。为此,你将使⽤函数 input()。 你还将学习如何在需要时让程序不断地运⾏,以便⽤户输⼊尽可能多的信 息,然后在程序中使⽤这些信息。为此,你将使⽤ while 循环让程序不断 地运⾏,直到指定的条件不再满⾜为⽌。 通过获取⽤户输⼊并学会控制程序的运⾏时间,你就能编写出交互式程 序。 7.1 input() 函数的⼯作原理 input() 函数让程序暂停运⾏,等待⽤户输⼊⼀些⽂本。获取⽤户输⼊ 后, Python 将其赋给⼀个变量,以便使⽤。
7.1 input() 函数的工作原理
7.1 input() 函数的⼯作原理 input() 函数让程序暂停运⾏,等待⽤户输⼊⼀些⽂本。获取⽤户输⼊ 后, Python 将其赋给⼀个变量,以便使⽤。
这节解决什么: 这一节主要解决《第 7 章 用户输入和 while 循环》里一个更具体的子问题:7.1 input() 函数的工作原理 该怎样落到实际代码或项目动作上。
怎么用到自己的系统: 不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒: 常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
7.2 while 循环简介
7.2 while 循环简介 for 循环⽤于针对集合中的每个元素执⾏⼀个代码块,⽽ while 循环则不 断地运⾏,直到指定的条件不再满⾜为⽌。 7.2.1 使⽤ while 循环 可以使⽤ while 循环来数数。
这节解决什么: 这一节主要解决《第 7 章 用户输入和 while 循环》里一个更具体的子问题:7.2 while 循环简介 该怎样落到实际代码或项目动作上。
怎么用到自己的系统: 不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒: 常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
7.3 使用 while 循环处理列表和字典
7.3 使⽤ while 循环处理列表和字典 到⽬前为⽌,我们每次都只处理了⼀项⽤户信息:获取⽤户的输⼊,再将 输⼊打印出来或做出响应;循环再次运⾏时,获取另⼀个输⼊值并做出响 应。然⽽,要记录⼤量的⽤户和信息,需要在 while 循环中使⽤列表和字 典。 for 循环是⼀种遍历列表的有效⽅式,但不应该在 for 循环中修改列表, 否则将导致 Python 难以跟踪其中的元素。要在遍历列表的同时修改它,可 使⽤ while 循环。
这节解决什么: 这一节主要解决《第 7 章 用户输入和 while 循环》里一个更具体的子问题:7.3 使用 while 循环处理列表和字典 该怎样落到实际代码或项目动作上。
怎么用到自己的系统: 不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒: 常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
7.4 小结
7.4 ⼩结 在本章中,你⾸先学习了如何在程序中使⽤ input() 来让⽤户提供信息, 如何处理⽂本和数的输⼊,以及如何使⽤ while 循环让程序按⽤户的要求 不断地运⾏。然后⻅识了多种控制 while 循环流程的⽅式:设置活动标 志,使⽤ break 语句,以及使⽤ continue 语句。你还学习了如何使⽤ while 循环在列表之间移动元素,以及如何从列表中删除所有包含特定值 的元素。最后,你学习了如何结合使⽤ while 循环和字典。
这节解决什么: 这一节主要解决《第 7 章 用户输入和 while 循环》里一个更具体的子问题:7.4 小结 该怎样落到实际代码或项目动作上。
怎么用到自己的系统: 不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒: 常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
辨析题
为什么 while 循环比 for 循环更容易写出 bug?
展开答案
因为它依赖你自己维护退出条件和状态变化,稍有疏漏就会变成死循环或逻辑漂移。