从Input到Loop:一份写给纯小白的Python基础生存指南

发布时间:2026/7/29 3:37:56

从Input到Loop:一份写给纯小白的Python基础生存指南 摘要现在不管是做数据分析、自动化办公还是搞人工智能Python几乎成了绕不开的工具。但对刚入门的同学来说最头疼的就是那些“看不懂的规则”——比如为什么输入的密码明明是数字加起来却变成了字符串拼接为什么写了循环却停不下来这篇文章就专门解决这些问题从怎么让程序“听懂”用户输入到不同数据类型怎么转换再到条件判断和循环怎么用全是新手最常踩坑的点。我会用大白话讲清楚原理再配上能直接跑的Demo代码看完你就能自己写简单的小程序了。引言你有没有想过平时用的银行APP为什么能识别你输入的密码点外卖时为什么选了“满20减5”会自动算优惠这些功能的背后都离不开Python的基础语法。比如登录时的密码输入本质就是程序“接收用户信息”满减计算则需要“数字类型转换”和“条件判断”。现在很多公司的运维岗、数据分析岗甚至行政岗都把“会Python基础”列为加分项——毕竟能用几行代码自动整理Excel、批量重命名文件效率比手动高太多。今天咱们就从最基础的语法学起一步步搭好Python的地基。Python怎么“接收”用户输入为啥需要让程序“问”用户要信息你想啊要是程序啥都自己定那登录功能就没法用了——总不能把你的密码写在代码里吧所以需要有个方法能让程序运行时“暂停”等你输入完信息再接着跑。Python里这个方法就叫input()。input()的基本用法input()就像程序的“耳朵”你把啥输进去它就记啥但有个坑它记下来的东西永远是字符串类型。比如你输入数字100它存的不是能算数的100而是“100”这个文本。# 最简单的input示例msginput(请输入点内容)print(f你输入的是{msg})print(f这个数据的类型是{type(msg)})# 输出class str运行这段代码你输入什么程序就会原样打印出来最后还会告诉你不管你输数字还是字母类型都是字符串。实际场景模拟银行密码输入你去ATM取钱第一步是不是输密码用input()就能模拟这个过程# 模拟银行密码输入passwordinput(请输入您的6位银行卡密码)print(f系统已收到您的密码{password})# 这里只是演示真实场景密码不会直接打印哦不过这里要注意真实开发中密码输入一般是隐藏的比如输的时候显示***这个进阶功能咱们以后再聊现在先记住input()的基本用法。实际场景用户信息登记行政小姐姐经常要做员工信息登记用Python几行代码就能搞定# 用户信息录入nameinput(请输入姓名)ageinput(请输入年龄)heightinput(请输入身高cm)# 拼接信息并打印infof姓名{name}年龄{age}身高{height}cmprint(登记成功信息如下)print(info)因为input()拿到的都是字符串所以直接用f-string拼接就行不用转类型。数据类型转换让不同类型的数据“能聊天”为啥要转换类型刚才说了input()拿到的都是字符串但你想算年龄加1岁字符串可不行“18”1会直接报错——就像你不能把“苹果”和“1”加在一起一样。这时候就需要把字符串转成数字这就是类型转换。常用的转换函数最常用的就三个记下来就行int()转成整数比如“123”→123str()转成字符串比如123→“123”bool()转成布尔值True/False判断真假用# 字符串转整数age_str18age_intint(age_str)print(age_int1)# 输出19没问题# 整数转字符串score95print(你的分数是str(score))# 不转str会报错# 转布尔值的坑0、空字符串、None都是False其他都是Trueprint(bool(0))# Falseprint(bool())# False空字符串print(bool(hello))# Trueprint(bool(None))# False⚠️ 注意int()不是万能的比如int(18岁)就会报错——因为它里面有“岁”这个汉字不是纯数字字符串。实际开发中可以用try-except捕获这种错误避免程序崩掉try:ageint(input(请输入年龄))print(f明年你{age1}岁了)except:print(输入有误请输入纯数字)实际场景简易计算器做个能加两个数的计算器用户输入两个数字程序输出和# 简易计算器加法try:num1input(请输入第一个数字)num2input(请输入第二个数字)# 转成整数再相加resultint(num1)int(num2)print(f{num1}{num2}{result})except:print(输入错误请确保输入的是数字)运行试试输入3和5输出8输入“3a”和5就会提示输入错误。实际场景判断用户是否活跃很多APP会判断用户是否活跃比如“登录次数0就是活跃用户”这时候就需要布尔值判断login_countint(input(请输入本月登录次数))is_activebool(login_count)# 登录次数0则为Trueprint(f是否为活跃用户{is_active})输入0 → False输入5 → True很直观吧运算符让数据“动起来”运算符是啥就是告诉程序“要做什么运算”的符号比如加减乘除、比较大小、判断条件。咱们挑最常用的几个讲。常用运算符分类算术运算符算数的加、-减、*乘、/除、//整除、%取余、**幂运算a,b5,2print(ab)# 7print(a//b)# 2整除只留整数部分print(a%b)# 1取余5除以2余1print(a**b)# 255的2次方比较运算符比大小的等于、!不等于、大于、小于结果都是布尔值True/Falseprint(32)# Trueprint(32)# False# 字符串也能比但比的是ASCII码简单理解字母abAaprint(ab)# Trueprint(Aa)# True大写字母ASCII码比小写小逻辑运算符多个条件判断and并且所有条件都真才真、or或者一个条件真就真、not取反真变假假变真# 判断年龄是否在18-60岁之间打工人区间age25print(age18andage60)# True# 简化写法18 age 60Python独有其他语言不支持print(18age60)# True# 判断是否是周末周六或周日day周六print(day周六orday周日)# True成员运算符判断“在不在里面”in在…里面、not in不在…里面常用于判断元素是否在列表、字符串里# 判断用户名是否已注册users[张三,李四,王五]usernameinput(请输入用户名)ifusernameinusers:print(该用户名已被注册)else:print(用户名可用)实际场景磁盘空间监控运维同学经常需要监控服务器磁盘空间当剩余空间低于10%时报警free_diskint(input(请输入磁盘剩余空间百分比))iffree_disk10:print(警告磁盘空间不足请及时扩容)else:print(磁盘空间正常)实际场景成绩评级老师给学生打分90分以上优秀80-89良好60-79及格60以下不及格scoreint(input(请输入学生成绩))ifscore90:print(评级优秀)elifscore80:# 隐含条件score 90print(评级良好)elifscore60:# 隐含条件score 80print(评级及格)else:print(评级不及格)if条件判断程序的“大脑”条件判断是干啥的就是让程序“根据不同情况做不同事”比如“如果下雨就带伞否则不带”。Python用if来实现这个逻辑分三种结构单分支、双分支、多分支。基本语法结构单分支只有条件成立才做事ageint(input(请输入年龄))ifage18:print(你已经成年了可以进入网吧)# 条件不成立的话啥也不做双分支二选一ageint(input(请输入年龄))ifage18:print(成年可以上网)else:print(未成年禁止上网)多分支多选一# 还是刚才的成绩评级例子多分支最适合这种多条件场景scoreint(input(请输入成绩))ifscore90:print(优秀)elifscore80:print(良好)elifscore60:print(及格)else:print(不及格)⚠️ 注意elif和else不能单独用必须跟着if多分支里只会执行第一个满足条件的代码块。好玩的案例石头剪刀布游戏咱们来做个能玩的人机石头剪刀布游戏用到之前学的input()、random模块生成随机数和if判断。游戏规则玩家输入1石头、2剪刀、3布电脑随机生成1-3的数字玩家赢的情况石头1赢剪刀2、剪刀2赢布3、布3赢石头1相同数字平局其他情况电脑赢importrandom# 导入随机数模块# 电脑随机出拳1-3computerrandom.randint(1,3)# 玩家输入出拳playerint(input(请输入你的出拳1-石头2-剪刀3-布))# 打印双方出拳方便调试print(f电脑出拳{computer}你出拳{player})# 判断胜负if(player1andcomputer2)or(player2andcomputer3)or(player3andcomputer1):print(恭喜你赢了)elifplayercomputer:print(平局再来一局)else:print(你输了加油)运行试试每次电脑的出拳都会变是不是很有意思这个小游戏其实就用到了咱们今天学的所有基础语法。循环语句让程序“重复干活”循环是啥就是让程序“反复做同一件事”比如抄课文10遍、打印100个小星星。如果没有循环你得写100行print()太傻了。Python里有两种循环while不知道要循环多少次时用和for知道循环多少次时用。while循环条件成立就一直跑基本语法# 计数器记录循环次数i1# 循环条件i 5 时就执行循环体whilei5:print(f第{i}次打印Hello World)i1# 计数器加1一定要写不然会无限循环print(循环结束)运行后会打印5次Hello World然后结束。千万记得在循环里改条件比如i1不然程序会一直跑下去死循环。实际场景密码验证最多试3次登录时如果密码错了一般最多让你试3次用while循环实现password123456# 正确密码count1# 记录尝试次数max_count3# 最大尝试次数whilecountmax_count:pwdinput(f请输入密码还剩{max_count-count1}次机会)ifpwdpassword:print(登录成功)break# 密码对了跳出循环else:print(密码错误)count1# 尝试次数加1ifcountmax_count:print(尝试次数过多账号已锁定)这里用到了break跳出整个循环后面会详细讲。实际场景计算1-100的和数学里12…100(1100)*100/25050用循环算total0# 存总和i1whilei100:totali# 等价于 total total ii1print(f1-100的和是{total})# 输出5050for循环遍历固定次数或序列for循环更适合“知道要循环多少次”的场景常和range()函数搭配range(n)生成0到n-1的整数序列。基本语法# 循环5次i依次是0,1,2,3,4foriinrange(5):print(f第{i1}次打印Hello)# 循环1-10range(1,11)生成1-10foriinrange(1,11):print(i)实际场景遍历列表比如打印所有用户名users[张三,李四,王五,赵六]print(当前注册用户)foruserinusers:# 逐个取出列表里的元素print(user)实际场景九九乘法表经典练习这个是循环的综合应用用双层for循环实现# 外层循环控制行数1-9行forrowinrange(1,10):# 内层循环控制列数第row行有row列forcolinrange(1,row1):# end\t表示不换行用制表符分隔print(f{col}×{row}{col*row},end\t)# 内层循环结束后换行print()运行后就能看到完整的九九乘法表啦是不是很有成就感循环控制break和continuebreak直接跳出整个循环不干了continue跳过本次循环直接进入下一次这次算了下次继续break示例找第一个能被7整除的数i1whileTrue:# 无限循环靠break结束ifi%70:# 能被7整除print(f第一个能被7整除的数是{i})break# 找到就跳出循环i1continue示例打印1-10中的奇数foriinrange(1,11):ifi%20:# 是偶数continue# 跳过本次循环不打印print(i)# 只打印奇数1,3,5,7,9实际场景猜数字游戏3次机会电脑随机生成1-10的数字你有3次机会猜猜对就结束importrandom answerrandom.randint(1,10)# 正确答案foriinrange(3):# 循环3次3次机会guessint(input(f第{i1}次猜测请输入1-10的数字))ifguessanswer:print(恭喜你猜对了)break# 猜对了就跳出循环elifguessanswer:print(猜大了)else:print(猜小了)else:# 循环正常结束没被break才执行print(f三次都没猜对正确答案是{answer})这里的else是for循环的特有语法如果循环没有被break中断就会执行else里的代码。QA环节Q1input()输入的数字忘记转int()直接用为啥有时候不报错比如age input(年龄); print(age 岁)就不报错因为age是字符串和字符串“岁”拼接没问题但age 1就会报错因为字符串和数字不能相加。所以只要涉及计算一定要转成数字类型。Q2while循环和for循环怎么选简单记知道循环次数用for比如循环5次、遍历列表不知道次数用while比如密码输对才停止、文件读到末尾才停止。Q3break和continue有啥区别打个比方你吃包子break就是吃到第三个发现馅是坏的直接不吃了整个循环结束continue就是吃到第三个坏了吐掉这个接着吃第四个只跳过本次循环。Q4为啥我的循环停不下来死循环90%是因为忘了修改循环条件。比如while i 5: print(i)没写i 1i永远是1条件永远成立就死循环了。这时候按CtrlC可以强制停止程序。总结今天咱们学了Python最基础的语法也是最重要的地基用input()接收用户输入拿到的是字符串用int()/str()/bool()做类型转换让不同数据能一起运算用运算符、-、、、and、or、in做各种计算和判断用if-elif-else让程序根据不同条件做不同事用while和for循环让程序重复干活配合break/continue控制循环流程。这些知识看着简单但组合起来就能做很多实用的小程序比如自动整理文件、批量处理Excel、爬取网页数据等等。建议你把文中的代码都敲一遍尤其是石头剪刀布和九九乘法表多改改参数看看效果。基础打牢了后面学函数、类这些高级内容就会轻松很多。下次咱们再聊聊Python的“容器”——列表、字典这些好用的工具不见不散

相关新闻