第7章 用户输入和 while 循环
- [7.1 函数 input()的工作原理](#7.1 函数 input()的工作原理)
-
- [7.1.1 编写清晰的程序](#7.1.1 编写清晰的程序)
- [7.1.2 使用 int()来获取数值输入](#7.1.2 使用 int()来获取数值输入)
- [7.1.3 求模运算符](#7.1.3 求模运算符)
- [7.2 while 循环简介](#7.2 while 循环简介)
-
- [7.2.1 使用 while 循环](#7.2.1 使用 while 循环)
- [7.2.2 让用户选择何时退出](#7.2.2 让用户选择何时退出)
- [7.2.3 使用标志](#7.2.3 使用标志)
- [7.2.4 使用 break 退出循环](#7.2.4 使用 break 退出循环)
- [7.2.5 在循环中使用 continue](#7.2.5 在循环中使用 continue)
- [7.2.6 避免无限循环](#7.2.6 避免无限循环)
- [7.3 使用 while 循环处理列表和字典](#7.3 使用 while 循环处理列表和字典)
-
- [7.3.1 在列表之间移动元素](#7.3.1 在列表之间移动元素)
- [7.3.2 删除为特定值的所有列表元素](#7.3.2 删除为特定值的所有列表元素)
- [7.3.3 使用用户输入来填充字典](#7.3.3 使用用户输入来填充字典)
7.1 函数 input()的工作原理
7.1.1 编写清晰的程序
函数 input()接受一个参数,让用户应该输入何种信息。
bash
num = input('输入一个数字: ') # 等待输入
print(num) # 输出
7.1.2 使用 int()来获取数值输入
使用函数 input()时,python解读为字符串。可使用函数 int(),它让 Python 将输入视为数值。
bash
num = input('输入一个数字: ') # 等待输入
num = int(num)
if num < 10:
print(num) # 输出
7.1.3 求模运算符
求模运算符(%)将两个数相除并返回余数。
bash
print(10 % 3) # 1
print(5 % 3) # 2
7.2 while 循环简介
for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不满足为止。
7.2.1 使用 while 循环
可使用 while 循环来数数。
bash
i = 1
while i <= 5:
print(i) # 从1输出到5
i = i + 1
7.2.2 让用户选择何时退出
定义一个退出值,只要用户输入的不是这个值,程序就将接着运行。
bash
mess = ''
while mess != 'quit':
mess = input('随便输入(输入quit则停止):')
print(mess)
7.2.3 使用标志
在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于
活动状态。
bash
flag = True
while flag:
mess = input('随便输入(输入quit则停止):')
if mess == 'quit':
flag = False
else:
print(mess)
7.2.4 使用 break 退出循环
要立即退出while循环,不在运行循环余下的代码,可以使用break语句。break 语句用于控制程序流程,可用来控制哪些代码行将执行、哪些代码行不执行。
bash
num = 1
while True:
print(num)
if num > 3:
break
num = num + 1
7.2.5 在循环中使用 continue
要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用 continue 语句。
bash
num = 0
while num < 10:
num = num + 1
if num % 2: # num%2==1说明是奇数
continue
print(num) # 输出偶数
7.2.6 避免无限循环
Ctrl + C,关闭显示程序输出的终端窗口。
7.3 使用 while 循环处理列表和字典
7.3.1 在列表之间移动元素
在一个列表中的数据提取出来,再将其加入另一个列表中。
bash
str1 = ['A', 'B', 'C', 'D']
str2 = []
while str1:
s = str1.pop() # 获取最后一个元素,并删除了
str2.append(s) # 加入到新的列表中
print(str1) # 空的
print(str2) # ['D', 'C', 'B', 'A']
7.3.2 删除为特定值的所有列表元素
运行 while 循环,使用remove()方法删除列表中的特定值。
bash
str1 = ['A', 'B', 'C', 'D', 'C', 'C']
while 'C' in str1:
str1.remove('C')
print(str1) # ['A', 'B', 'D']
7.3.3 使用用户输入来填充字典
可使用 while 循环提示用户输入任意多的信息。直到满足退出条件才终止程序。
bash
mess = ''
while mess != 'quit':
mess = input('随便输入(输入quit则停止):')
print(mess)