2026/4/17 6:49:21
网站建设
项目流程
如何自己弄一个网站,网上商店的优势和缺陷,wordpress怎么做手机端,江西求做网站文章目录 一、顺序语句#xff1a; 从上到下#xff0c;依次执行二、条件语句#xff1a;做选择1. 条件语句的三种形式#xff08;1#xff09;单条件判断#xff1a;if语句#xff08;2#xff09;双条件判断#xff1a;if-else语句#xff08;3#xff09;多条件判…文章目录一、顺序语句 从上到下依次执行二、条件语句做选择1. 条件语句的三种形式1单条件判断if语句2双条件判断if-else语句3多条件判断if-elif-else语句2. 缩进与代码块正确理解缩进缩进嵌套3. 空语句pass占位符4. 练习判断闰年三、循环语句1. while循环“条件满足就一直做”基本语法示例1打印1-10的整数2计算1-100的和3计算5的阶乘5! 5×4×3×2×14嵌套循环计算1! 2! 3! 4! 5!的和2. for循环“遍历元素就做事”基本语法示例1打印1-10使用range函数2打印2、4、6、8、10指定步长23打印10-1步长为负倒序4计算1-100的和for循环更简洁3. 循环控制break和continue1continue跳过本次循环进入下次循环2break结束整个循环3练习输入若干数字求平均值用break结束循环四、动手实现“人生重开模拟器”1. 游戏逻辑拆解2. 完整代码一、顺序语句 从上到下依次执行默认情况下Python代码的执行顺序就像我们日常做事的流程——先做第一步再做第二步直到所有步骤完成。这种按固定顺序执行的语句就是顺序语句。print(1)print(2)print(3)#输出 1 2 3二、条件语句做选择条件语句让程序拥有了“判断能力”能够根据不同的条件执行不同的逻辑。1. 条件语句的三种形式Python中通过if、else、elif三个关键字实现条件判断不同形式对应不同的判断场景。1单条件判断if语句当只需要判断“满足条件就执行不满足就跳过”时使用if语句。语法格式if条件表达式:满足条件时执行的代码块缩进# 不满足条件时执行的代码无缩进注意条件表达式后没有括号()结尾必须加冒号:。代码块通过缩进区分通常是4个空格或1个Tab这是Python的特色缩进错误会直接报错。示例如果输入的数字是1打印“你选择了认真学习”。choiceinput(请输入数字1)ifchoice1:print(你选择了认真学习)print(程序结束)当choice 1成立时会先打印“你选择了认真学习”再打印“程序结束”如果不成立直接打印“程序结束”。2双条件判断if-else语句当需要判断“满足条件执行A不满足执行B”时使用if-else语句覆盖所有可能性。语法格式if条件表达式:满足条件执行的代码块Aelse:不满足条件执行的代码块B示例判断输入的整数是奇数还是偶数。aint(input(请输入一个整数))ifa%20:print(偶数)else:print(奇数)无论输入的数字是多少都会进入其中一个分支不会出现“无响应”的情况。3多条件判断if-elif-else语句当有多个条件需要依次判断时使用if-elif-else语句相当于“如果…否则如果…否则…”。语法格式if条件1:执行代码块1elif条件2:执行代码块2elif条件3:执行代码块3else:所有条件都不满足时执行的代码块示例判断输入的数字是正数、负数还是0。aint(input(请输入一个整数))ifa0:print(正数)elifa0:print(负数)else:print(为0)程序会依次判断a 0、a 0只要有一个条件成立就执行对应的代码块所有条件都不成立时才会执行else中的内容。2. 缩进与代码块在Python中缩进是代码块的标志不同层级的缩进代表不同的代码归属这和C、Java用{}划分代码块的方式完全不同。正确理解缩进# 代码1print(world)属于if代码块ainput(请输入一个整数)ifa1:print(hello)print(world)# 一级缩进和print(hello)同属if代码块# 代码2print(world)不属于if代码块ainput(请输入一个整数)ifa1:print(hello)# 一级缩进print(world)# 无缩进属于全局代码块代码1中只有a 1成立时才会同时打印“hello”和“world”代码2中无论a是否等于1都会打印“world”因为它没有缩进不属于if的代码块。缩进嵌套代码块内部还可以嵌套其他代码块形成多层逻辑ainput(请输入第一个整数)binput(请输入第二个整数)ifa1:print(进入a1的分支)ifb2:print(world)# 二级缩进属于if b2代码块print(hello)# 一级缩进属于if a1代码块print(python)# 无缩进全局代码块嵌套缩进需要严格对齐否则会报错。这也是为什么有“写Python需要自备游标卡尺”的梗——缩进的规范性直接决定程序能否运行。3. 空语句pass占位符有时候我们需要在条件语句中“占个位置”但暂时不执行任何操作这时候就需要用到pass语句——它是Python中的“空语句”不影响程序执行只用于保证语法格式正确。错误示例aint(input(请输入一个整数))ifa!1:# 暂时没有要执行的代码else:print(hello)这段代码会直接报错因为if a ! 1:后面没有任何代码不符合Python语法。正确示例aint(input(请输入一个整数))ifa!1:pass# 占位符不执行任何操作else:print(hello)pass的存在让语法格式合法程序会正常运行当a ! 1时跳过if分支执行后续代码当a 1时打印“hello”。4. 练习判断闰年闰年的判断规则是能被400整除的年份是闰年能被4整除但不能被100整除的年份是闰年其他情况是平年。yearint(input(请输入年份))ifyear%1000:# 世纪年如2000年、1900年ifyear%4000:print(闰年)else:print(平年)else:# 普通年ifyear%40:print(闰年)else:print(平年)也可以简化为一行条件表达式yearint(input(请输入年份))if(year%100!0andyear%40)or(year%4000):print(闰年)else:print(平年)三、循环语句循环语句让程序能够自动重复执行某段代码大大提高开发效率。Python中主要有两种循环while循环和for循环各自适用于不同场景。1. while循环“条件满足就一直做”while循环的逻辑是只要条件成立就反复执行循环体直到条件不成立时结束。基本语法while循环条件:循环体缩进代码块# 循环变量更新避免无限循环注意循环体中必须包含“循环变量更新”的语句否则循环条件会一直成立导致程序进入“无限循环”比如while True:没有退出条件时会一直运行。示例1打印1-10的整数num1# 初始化循环变量whilenum10:# 循环条件num不大于10print(num)num1# 循环变量更新num每次加1执行过程num从1开始每次打印后加1当num11时num 10不成立循环结束。2计算1-100的和sum0# 用于存储总和初始值为0num1# 循环变量whilenum100:sumnum# 等价于sum sum numnum1print(sum)# 输出结果50503计算5的阶乘5! 5×4×3×2×1result1# 阶乘初始值为1乘法的单位元n1whilen5:result*n# 等价于result result × nn1print(result)# 输出结果1204嵌套循环计算1! 2! 3! 4! 5!的和sum0# 存储阶乘总和num1whilenum5:factor_result1# 存储单个阶乘的结果i1# 内层循环计算num的阶乘whileinum:factor_result*i i1sumfactor_result# 把当前阶乘结果加入总和num1print(sum)# 输出结果153这里用到了“双重循环”外层循环控制计算哪个数的阶乘内层循环负责计算具体的阶乘值。嵌套循环的关键是理清每层循环的职责避免缩进错误。2. for循环“遍历元素就做事”for循环是Python中最灵活、最常用的循环它不需要手动管理循环变量而是直接遍历“可迭代对象”比如列表、字符串、range生成的序列逐个执行循环体。基本语法for循环变量in可迭代对象:循环体缩进代码块可迭代对象内部包含多个元素能逐个取出元素的对象如range(1,10)、[1,2,3]、abc等。Python的for循环不需要“初始化语句”“条件判断语句”“更新语句”比其他语言更简洁。示例1打印1-10使用range函数range(start, end, step)是Python内置函数用于生成一个整数序列start起始值默认0end结束值不包含end本身step步长默认1可正可负。# 生成1-10的序列包含1不包含11foriinrange(1,11):print(i)2打印2、4、6、8、10指定步长2# 从2开始到12结束不包含12每次加2foriinrange(2,12,2):print(i)3打印10-1步长为负倒序# 从10开始到0结束不包含0每次减1foriinrange(10,0,-1):print(i)4计算1-100的和for循环更简洁sum0foriinrange(1,101):sumiprint(sum)# 输出结果5050相比while循环for循环不需要手动初始化和更新循环变量代码更简洁不易出错。3. 循环控制break和continue在循环过程中我们可能需要提前结束循环或者跳过某次循环这时候就需要break和continue两个关键字。1continue跳过本次循环进入下次循环continue会直接跳过当前循环体中剩余的代码不执行后续操作直接进入下一次循环判断。示例模拟吃包子吃到第3个时吃出虫子跳过这个包子继续吃后面的。foriinrange(1,6):ifi3:print(f第{i}个包子吃出虫子跳过)continueprint(f吃完第{i}个包子)输出结果吃完第1个包子 吃完第2个包子 第3个包子吃出虫子跳过 吃完第4个包子 吃完第5个包子2break结束整个循环break会直接终止当前循环无论循环条件是否成立都不再继续执行。示例模拟吃包子吃到第3个时吃出半只虫子直接停止吃包子。foriinrange(1,6):ifi3:print(f第{i}个包子吃出半只虫子停止吃包子)breakprint(f吃完第{i}个包子)输出结果吃完第1个包子 吃完第2个包子 第3个包子吃出半只虫子停止吃包子3练习输入若干数字求平均值用break结束循环需求持续输入数字用分号“;”结束输入最后计算所有输入数字的平均值。sum0# 总和count0# 输入数字的个数whileTrue:# 无限循环直到遇到breaknuminput(请输入数字输入;结束)ifnum;:break# 输入;结束循环numfloat(num)sumnum count1ifcount0:print(f平均值为{sum/count})else:print(未输入任何数字)这里用while True创建无限循环通过break在输入“;”时终止循环逻辑清晰且灵活。四、动手实现“人生重开模拟器”学会了顺序、条件、循环语句后我们可以动手实现一个趣味小游戏——“人生重开模拟器”。这款游戏的核心逻辑是通过初始属性设置、随机事件触发模拟人生不同阶段的经历最终生成专属人生轨迹。1. 游戏逻辑拆解初始属性设置颜值、体质、智力、家境各1-10分总和不超过20随机生成性别通过掷骰子1-6决定单数为男孩双数为女孩随机生成出生点根据家境档位和随机数决定出生环境并修改属性人生阶段模拟分幼年、青年、壮年、老年阶段每个阶段通过随机事件修改属性触发特殊事件如夭折则游戏结束。2. 完整代码importrandomimportsysimporttime# 游戏开场文案print(*50)print(花有重开日人无再少年)print(欢迎来到 人生重开模拟器)print(*50)# 1. 设置初始属性颜值、体质、智力、家境whileTrue:print(\n请设定初始属性可用总点数20每项1-10分)faceint(input(设定 颜值(1-10)))strongint(input(设定 体质(1-10)))iqint(input(设定 智力(1-10)))homeint(input(设定 家境(1-10)))# 验证属性合法性ifface1orface10:print(颜值必须在1-10之间)continueifstrong1orstrong10:print(体质必须在1-10之间)continueifiq1oriq10:print(智力必须在1-10之间)continueifhome1orhome10:print(家境必须在1-10之间)continueiffacestrongiqhome20:print(总点数超过20请重新分配)continue# 属性设置成功退出循环print(初始属性设定完成)print(f颜值{face}体质{strong}智力{iq}家境{home})break# 2. 随机生成性别print(\n正在生成性别...)time.sleep(1)# 暂停1秒增强游戏体验gender_pointrandom.randint(1,6)# 掷骰子1-6ifgender_point%21:genderboyprint(你是个男孩)else:gendergirlprint(你是个女孩)# 3. 随机生成出生点根据家境档位print(\n正在生成出生点...)time.sleep(1)birth_pointrandom.randint(1,3)# 掷骰子1-3细分出生场景ifhome10:print(你出生在帝都你的父母是高官政要)home1iq1face1elif7home9:ifbirth_point1:print(你出生在大城市你的父母是公务员)face2elifbirth_point2:print(你出生在大城市你的父母是大企业高管)home2else:print(你出生在大城市你的父母是大学教授)iq2elif4home6:ifbirth_point1:print(你出生在三线城市你的父母是教师)iq1elifbirth_point2:print(你出生在镇上你的父母是医生)strong1else:print(你出生在镇上你的父母是个体户)home1else:if1birth_point2:print(你出生在村里你的父母是辛苦劳作的农民)strong1face-2elif3birth_point4:print(你出生在穷乡僻壤你的父母是无业游民)home-1else:print(你出生在镇上你父母感情不和)strong-1print(f出生后属性更新颜值{face}体质{strong}智力{iq}家境{home})# 4. 模拟幼年阶段1-10岁print(\n*50)print(开始模拟幼年阶段1-10岁...)print(*50)time.sleep(1)forageinrange(1,11):infof\n你今年{age}岁event_pointrandom.randint(1,3)# 掷骰子触发事件# 性别家境触发的特殊事件女孩家境差可能被遗弃ifgendergirlandhome3andevent_point1:info你家里人重男轻女思想非常严重你被遗弃了print(info)print(游戏结束)sys.exit(0)# 退出程序# 体质差触发的事件生病elifstrong6andevent_point!3:info你生了一场病ifhome5:info在父母的精心照料下恢复了健康体质略有提升strong1home-1# 家境消耗else:info你的父母没精力管你身体状况更糟糕了strong-1# 颜值差触发的事件被小朋友孤立elifface4andage7:info你因为长得太丑别的小朋友不喜欢你ifiq5:info你决定用学习填充自己智力提升iq1else:ifgenderboy:info你和别的小朋友经常打架体质提升但智力下降strong1iq-1else:info你经常被别的小朋友欺负体质下降strong-1# 智商差触发的事件看起来傻傻的elifiq5:info你看起来傻傻的ifhome8andage6:info你的父母给你送到更好的学校学习智力提升iq1elif4home7:ifgenderboy:info你的父母鼓励你多运动身体素质提升strong1else:info你的父母鼓励你多打扮自己颜值提升face1else:info你的父母为此经常吵架随机属性下降ifevent_point1:strong-1elifevent_point2:iq-1# 健康成长无负面事件else:info你健康成长ifevent_point1:info看起来更聪明了智力提升iq1elifevent_point2:info看起来更好看了颜值提升face1else:info看起来更结实了体质提升strong1# 打印当年经历和属性print(info)print(f当前属性颜值{face}体质{strong}智力{iq}家境{home})time.sleep(1)# 暂停1秒方便阅读print(\n*50)print(幼年阶段结束后续可继续扩展青年、壮年、老年阶段...)print(*50)