专栏:Python 零基础全套入门教程 🎯 本章定位:实现程序和人交互的核心章节。
input()实现接收键盘输入,while循环实现重复执行逻辑。做控制台交互工具、菜单程序、游戏逻辑都会大量用到,也是后续做自动化脚本的基础。
✅ 学习目标
- 掌握
input()获取用户键盘输入,理解输入全部为字符串类型 - 学会对输入数据做类型转换
int()、float() - 熟练掌握
while循环语法,理解循环条件、循环终止 - 学会使用
break跳出循环、continue跳过本次循环 - 掌握标志位控制循环,学会避免无限循环
- 结合 while 完成列表、字典的数据处理
一、用户输入 input () 函数
input():程序暂停运行,等待用户在控制台输入内容,按下回车之后,把用户输入的内容以字符串的形式返回。
1.1 基础用法
# input括号内写提示文字 message = input("请输入一句话:") print(f"你输入的内容是:{message}")重点:无论用户输入数字、文字、符号,input()拿到的数据永远是字符串str。
num = input("请输入数字:") print(type(num)) # <class 'str'>1.2 输入数字,类型转换
如果需要拿输入做数值运算,必须使用int()或者float()转换成数字类型。
# 将输入转为整数 age = int(input("请输入你的年龄:")) print(f"5年后你的年龄:{age + 5}") # 转为浮点数(小数) height = float(input("请输入身高:")) print(f"身高:{height}")坑点:如果用户输入非数字文本,
int()转换直接报错崩溃,后续学习异常处理后可以解决这个问题。
1.3 input 结合 if 做简单交互判断
age = int(input("请输入年龄:")) if age >= 18: print("已成年") else: print("未成年")二、while 循环基础
for循环:多用于遍历序列(列表、字典),循环次数由容器元素数量决定。while循环:只要条件为 True,就会一直重复执行循环体内代码;适合不知道循环多少次,只知道循环终止条件的场景。
语法格式:
while 条件表达式: 循环执行代码(注意缩进)2.1 简单 while 示例
# 打印1~5 i = 1 while i <= 5: print(i) i = i + 1 # 计数器自增,非常关键执行逻辑:
- 判断
i <=5是否成立;成立执行内部代码 - 打印 i,i 自加 1
- 回到 while 再次判断条件,直到条件为 False,循环结束
⚠️ 无限循环:忘记写计数器更新,条件永远 True,程序死循环。
# 错误!死循环,不要直接运行 # i = 1 # while i <=5: # print(i)2.2 使用标志位控制循环
定义一个布尔变量作为循环开关,多处逻辑可以控制循环是否结束,适合菜单交互程序。
active = True while active: msg = input("请输入内容,输入quit退出程序:") if msg == "quit": active = False else: print(f"收到消息:{msg}")三、break、continue 循环控制关键字
3.1 break:直接彻底跳出整个 while 循环
一旦执行break,立刻终止循环,不再判断条件,直接执行循环后面代码。
while True: text = input("输入quit退出:") if text == "quit": break print(text) print("循环已经结束")
while True代表条件永久成立,内部依靠break退出循环,开发非常常用。
3.2 continue:跳过本次循环,直接进入下一轮循环
continue不会终止整个循环,仅仅跳过本次后面代码,回到 while 条件判断处开启下一轮。
# 打印1‑10,只打印奇数 i = 0 while i < 10: i = i + 1 if i % 2 == 0: continue print(i)运行逻辑:i 是偶数时触发 continue,后面 print 不会执行,直接回到循环开头。
易错:continue 前面一定要更新计数器,否则会卡死死循环。
四、while 循环处理列表与字典
for循环遍历列表的时候,不建议同时修改列表;while 适合一边循环一边删除、新增元素。
4.1 使用 while 删除列表中特定全部元素
user_list = ["张三","李四","张三","王五","张三"] # 删除列表中全部"张三" while "张三" in user_list: user_list.remove("张三") print(user_list)4.2 使用 while 收集用户输入存入字典
user_dict = {} while True: name = input("请输入用户名:") score = input("请输入分数:") user_dict[name] = score again = input("是否继续录入?(y/n):") if again == "n": break print(user_dict)五、本章高频易错点总结
input()返回永远字符串,做数学运算必须int()/float()转换;输入文字转数字直接报错。- while 循环千万不要忘记更新计数器,否则出现无限死循环。
continue执行后,本轮后续代码不再运行,直接进入下一轮。break跳出最内层循环,多层嵌套循环只能跳出当前一层。- while True 必须搭配 break,否则死循环。
- for 适合遍历;while 适合未知循环次数、动态增删容器的场景。
区分记忆
- for:我知道要循环多少次 / 有多少元素
- while:我不知道多少次,满足条件就停
📝本章实战习题
基础题
- 获取用户输入的两个数字,计算两个数字相加结果并打印输出。
- 使用 while 循环打印 1 到 100 所有数字。
- 写程序,用户不断输入内容,输入
exit就退出程序。
进阶题
- 使用 while 循环计算 1~100 累加总和。
- 编写登录程序:用户输入账号密码,账号密码为
admin、123456登录成功;失败可以重新输入,最多允许输入 3 次,3 次失败直接退出。
思考题
- 现有列表
todo = ["看书","跑步","打游戏","跑步"],使用 while 循环把列表中所有"跑步"全部移除,打印最终列表。
✅参考答案
#习题1 num1 = int(input("请输入第一个数字:")) num2 = int(input("请输入第二个数字:")) print(num1 + num2) #习题2 i = 1 while i <= 100: print(i) i += 1 #习题3 while True: content = input("请输入内容:") if content == "exit": break print(content) #习题4 total = 0 i = 1 while i <=100: total = total + i i += 1 print(total) #习题5 count = 0 while count <3: username = input("账号:") pwd = input("密码:") if username == "admin" and pwd == "123456": print("登录成功") break else: count +=1 print(f"账号密码错误,剩余次数:{3‑count}") #习题6 todo = ["看书","跑步","打游戏","跑步"] while "跑步" in todo: todo.remove("跑步") print(todo)💖点赞 + 收藏 + 关注,持续更新 Python 零基础全套教程,下一章学习第九章:函数。