第7章 用户输入和 while 循环

第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)
相关推荐
大模型真好玩2 分钟前
准确率飙升!GraphRAG如何利用知识图谱提升RAG答案质量(额外篇)——大规模文本数据下GraphRAG实战
人工智能·python·mcp
19893 分钟前
【零基础学AI】第30讲:生成对抗网络(GAN)实战 - 手写数字生成
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·近邻算法
hardStudy_h9 分钟前
C++——内联函数与Lambda表达式
开发语言·jvm·c++
applebomb13 分钟前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
艾莉丝努力练剑36 分钟前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
Chasing__Dreams42 分钟前
python--杂识--18.1--pandas数据插入sqlite并进行查询
python·sqlite·pandas
彭泽布衣2 小时前
python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free
python·sk_pop_free
witton2 小时前
Go语言网络游戏服务器模块化编程
服务器·开发语言·游戏·golang·origin·模块化·耦合
喜欢吃豆2 小时前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
一个处女座的测试2 小时前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest