Python基础语法入门之顺序、条件与循环

作者:

文章目录
  • 默认情况下,Python代码的执行顺序就像我们日常做事的流程——先做第一步,再做第二步,直到所有步骤完成。这种按固定顺序执行的语句,就是顺序语句。 print(“1”) print(“2”) print(“3”) #输出 1 2 3
  • 条件语句让程序拥有了“判断能力”,能够根据不同的条件执行不同的逻辑。
  • 循环语句让程序能够自动重复执行某段代码,大大提高开发效率。 Python中主要有两种循环:while循环和for循环,各自适用于不同场景。
  • 学会了顺序、条件、循环语句后,我们可以动手实现一个趣味小游戏——“人生重开模拟器”。这款游戏的核心逻辑是:通过初始属性设置、随机事件触发,模拟人生不同阶段的经历,最终生成专属人生轨迹。
  • 到此这篇关于Python基础语法入门之顺序、条件与循环的文章就介绍到这了,更多相关Python顺序、条件与循环内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python条件和循环的使用方法 Python中条件选择和循环语句使用方法介绍 Python入门篇之条件、循环 对python中的控制条件、循环和跳出详解 Python 条件,循环语句详解 Python条件语句与循环语句
  • 目录
    • 一、顺序语句: 从上到下,依次执行
    • 二、条件语句:做选择
      • 1. 条件语句的三种形式
        • (1)单条件判断:if语句
        • (2)双条件判断:if-else语句
        • (3)多条件判断:if-elif-else语句
      • 2. 缩进与代码块
        • 正确理解缩进:
        • 缩进嵌套:
      • 3. 空语句pass:占位符
        • 4. 练习:判断闰年
        • 三、循环语句
          • 1. while循环:“条件满足就一直做”
            • 基本语法:
            • 示例:
          • 2. for循环:“遍历元素就做事”
            • 基本语法:
            • 示例:
          • 3. 循环控制:break和continue
            • (1)continue:跳过本次循环,进入下次循环
            • (2)break:结束整个循环
            • (3)练习:输入若干数字,求平均值(用break结束循环)
        • 四、动手实现“人生重开模拟器”
          • 1. 游戏逻辑拆解
            • 2. 完整代码
            • 总结 

              默认情况下,Python代码的执行顺序就像我们日常做事的流程——先做第一步,再做第二步,直到所有步骤完成。这种按固定顺序执行的语句,就是顺序语句

              print("1")
              print("2")
              print("3") 
              #输出 1 2 3
              

              条件语句让程序拥有了“判断能力”,能够根据不同的条件执行不同的逻辑。

              Python中通过ifelseelif三个关键字实现条件判断,不同形式对应不同的判断场景。

              当只需要判断“满足条件就执行,不满足就跳过”时,使用if语句。
              语法格式

              if 条件表达式:
                  满足条件时执行的代码块(缩进)
              # 不满足条件时执行的代码(无缩进)
              

              注意

              • 条件表达式后没有括号(),结尾必须加冒号:
              • 代码块通过缩进区分(通常是4个空格或1个Tab),这是Python的特色,缩进错误会直接报错。

              示例:如果输入的数字是1,打印“你选择了认真学习”。

              choice = input("请输入数字1:")
              if choice == "1":
                  print("你选择了认真学习")
              print("程序结束")
              

              choice == "1"成立时,会先打印“你选择了认真学习”,再打印“程序结束”;如果不成立,直接打印“程序结束”。

              当需要判断“满足条件执行A,不满足执行B”时,使用if-else语句,覆盖所有可能性。
              语法格式

              if 条件表达式:
                  满足条件执行的代码块A
              else:
                  不满足条件执行的代码块B
              

              示例:判断输入的整数是奇数还是偶数。

              a = int(input("请输入一个整数:"))
              if a % 2 == 0:
                  print("偶数")
              else:
                  print("奇数")
              

              无论输入的数字是多少,都会进入其中一个分支,不会出现“无响应”的情况。

              当有多个条件需要依次判断时,使用if-elif-else语句,相当于“如果…否则如果…否则…”。
              语法格式

              if 条件1:
                  执行代码块1
              elif 条件2:
                  执行代码块2
              elif 条件3:
                  执行代码块3
              else:
                  所有条件都不满足时执行的代码块
              

              示例:判断输入的数字是正数、负数还是0。

              a = int(input("请输入一个整数:"))
              if a > 0:
                  print("正数")
              elif a < 0:
                  print("负数")
              else:
                  print("为0")
              

              程序会依次判断a > 0a < 0,只要有一个条件成立就执行对应的代码块,所有条件都不成立时才会执行else中的内容。

              在Python中,缩进是代码块的标志,不同层级的缩进代表不同的代码归属,这和C++、Java用{}划分代码块的方式完全不同。

              # 代码1:print("world")属于if代码块
              a = input("请输入一个整数:")
              if a == "1":
                  print("hello")
                  print("world")  # 一级缩进,和print("hello")同属if代码块
              
              # 代码2:print("world")不属于if代码块
              a = input("请输入一个整数:")
              if a == "1":
                  print("hello")  # 一级缩进
              print("world")  # 无缩进,属于全局代码块
              
              • 代码1中,只有a == "1"成立时,才会同时打印“hello”和“world”;
              • 代码2中,无论a是否等于1,都会打印“world”,因为它没有缩进,不属于if的代码块。

              代码块内部还可以嵌套其他代码块,形成多层逻辑:

              a = input("请输入第一个整数:")
              b = input("请输入第二个整数:")
              if a == "1":
                  print("进入a=1的分支")
                  if b == "2":
                      print("world")  # 二级缩进,属于if b=="2"代码块
                  print("hello")  # 一级缩进,属于if a=="1"代码块
              print("python")  # 无缩进,全局代码块
              

              嵌套缩进需要严格对齐,否则会报错。这也是为什么有“写Python需要自备游标卡尺”的梗——缩进的规范性直接决定程序能否运行。

              有时候,我们需要在条件语句中“占个位置”,但暂时不执行任何操作,这时候就需要用到pass语句——它是Python中的“空语句”,不影响程序执行,只用于保证语法格式正确。

              错误示例

              a = int(input("请输入一个整数:"))
              if a != 1:
                  # 暂时没有要执行的代码
              else:
                  print("hello")
              

              这段代码会直接报错,因为if a != 1:后面没有任何代码,不符合Python语法。

              正确示例

              a = int(input("请输入一个整数:"))
              if a != 1:
                  pass  # 占位符,不执行任何操作
              else:
                  print("hello")
              

              pass的存在让语法格式合法,程序会正常运行:当a != 1时,跳过if分支,执行后续代码;当a == 1时,打印“hello”。

              闰年的判断规则是:

              1. 能被400整除的年份是闰年;
              2. 能被4整除但不能被100整除的年份是闰年;
              3. 其他情况是平年。
              year = int(input("请输入年份:"))
              if year % 100 == 0:
                  # 世纪年(如2000年、1900年)
                  if year % 400 == 0:
                      print("闰年")
                  else:
                      print("平年")
              else:
                  # 普通年
                  if year % 4 == 0:
                      print("闰年")
                  else:
                      print("平年")
              

              也可以简化为一行条件表达式:

              year = int(input("请输入年份:"))
              if (year % 100 != 0 and year % 4 == 0) or (year % 400 == 0):
                  print("闰年")
              else:
                  print("平年")
              

              循环语句让程序能够自动重复执行某段代码,大大提高开发效率。

              Python中主要有两种循环:while循环和for循环,各自适用于不同场景。

              while循环的逻辑是:只要条件成立,就反复执行循环体,直到条件不成立时结束

              while 循环条件:
                  循环体(缩进代码块)
                  # 循环变量更新(避免无限循环)
              

              注意:循环体中必须包含“循环变量更新”的语句,否则循环条件会一直成立,导致程序进入“无限循环”(比如while True:没有退出条件时,会一直运行)。

              (1)打印1-10的整数

              num = 1  # 初始化循环变量
              while num <= 10:  # 循环条件:num不大于10
                  print(num)
                  num += 1  # 循环变量更新:num每次加1
              

              执行过程:num从1开始,每次打印后加1,当num=11时,num <= 10不成立,循环结束。

              (2)计算1-100的和

              sum = 0  # 用于存储总和,初始值为0
              num = 1  # 循环变量
              while num <= 100:
                  sum += num  # 等价于sum = sum + num
                  num += 1
              print(sum)  # 输出结果:5050
              

              (3)计算5的阶乘(5! = 5×4×3×2×1)

              result = 1  # 阶乘初始值为1(乘法的单位元)
              n = 1
              while n <= 5:
                  result *= n  # 等价于result = result × n
                  n += 1
              print(result)  # 输出结果:120
              

              (4)嵌套循环:计算1! + 2! + 3! + 4! + 5!的和

              sum = 0  # 存储阶乘总和
              num = 1
              while num <= 5:
                  factor_result = 1  # 存储单个阶乘的结果
                  i = 1
                  # 内层循环:计算num的阶乘
                  while i <= num:
                      factor_result *= i
                      i += 1
                  sum += factor_result  # 把当前阶乘结果加入总和
                  num += 1
              print(sum)  # 输出结果:153
              

              这里用到了“双重循环”:外层循环控制计算哪个数的阶乘,内层循环负责计算具体的阶乘值。嵌套循环的关键是理清每层循环的职责,避免缩进错误。

              for循环是Python中最灵活、最常用的循环,它不需要手动管理循环变量,而是直接遍历“可迭代对象”(比如列表、字符串、range生成的序列),逐个执行循环体。

              for 循环变量 in 可迭代对象:
                  循环体(缩进代码块)
              
              • 可迭代对象:内部包含多个元素,能逐个取出元素的对象(如range(1,10)[1,2,3]、"abc"等)。
              • Python的for循环不需要“初始化语句”“条件判断语句”“更新语句”,比其他语言更简洁。

              (1)打印1-10(使用range函数)

              range(start, end, step)是Python内置函数,用于生成一个整数序列:

              • start:起始值(默认0);
              • end:结束值(不包含end本身);
              • step:步长(默认1,可正可负)。
              # 生成1-10的序列(包含1,不包含11)
              for i in range(1, 11):
                  print(i)
              

              (2)打印2、4、6、8、10(指定步长2)

              # 从2开始,到12结束(不包含12),每次加2
              for i in range(2, 12, 2):
                  print(i)
              

              (3)打印10-1(步长为负,倒序)

              # 从10开始,到0结束(不包含0),每次减1
              for i in range(10, 0, -1):
                  print(i)
              

              (4)计算1-100的和(for循环更简洁)

              sum = 0
              for i in range(1, 101):
                  sum += i
              print(sum)  # 输出结果:5050
              

              相比while循环,for循环不需要手动初始化和更新循环变量,代码更简洁,不易出错。

              在循环过程中,我们可能需要提前结束循环,或者跳过某次循环,这时候就需要breakcontinue两个关键字。

              continue会直接跳过当前循环体中剩余的代码,不执行后续操作,直接进入下一次循环判断。

              示例:模拟吃包子,吃到第3个时吃出虫子,跳过这个包子,继续吃后面的。

              for i in range(1, 6):
                  if i == 3:
                      print(f"第{i}个包子吃出虫子,跳过!")
                      continue
                  print(f"吃完第{i}个包子")
              

              输出结果

              吃完第1个包子
              吃完第2个包子
              第3个包子吃出虫子,跳过!
              吃完第4个包子
              吃完第5个包子
              

              break会直接终止当前循环,无论循环条件是否成立,都不再继续执行。

              示例:模拟吃包子,吃到第3个时吃出半只虫子,直接停止吃包子。

              for i in range(1, 6):
                  if i == 3:
                      print(f"第{i}个包子吃出半只虫子,停止吃包子!")
                      break
                  print(f"吃完第{i}个包子")
              

              输出结果

              吃完第1个包子
              吃完第2个包子
              第3个包子吃出半只虫子,停止吃包子!
              

              需求:持续输入数字,用分号“;”结束输入,最后计算所有输入数字的平均值。

              sum = 0  # 总和
              count = 0  # 输入数字的个数
              while True:  # 无限循环,直到遇到break
                  num = input("请输入数字(输入;结束):")
                  if num == ';':
                      break  # 输入;,结束循环
                  num = float(num)
                  sum += num
                  count += 1
              if count > 0:
                  print(f"平均值为:{sum / count}")
              else:
                  print("未输入任何数字!")
              

              这里用while True创建无限循环,通过break在输入“;”时终止循环,逻辑清晰且灵活。

              学会了顺序、条件、循环语句后,我们可以动手实现一个趣味小游戏——“人生重开模拟器”。这款游戏的核心逻辑是:通过初始属性设置、随机事件触发,模拟人生不同阶段的经历,最终生成专属人生轨迹。

              • 初始属性设置:颜值、体质、智力、家境(各1-10分,总和不超过20);
              • 随机生成性别:通过掷骰子(1-6)决定,单数为男孩,双数为女孩;
              • 随机生成出生点:根据家境档位和随机数,决定出生环境并修改属性;
              • 人生阶段模拟:分幼年、青年、壮年、老年阶段,每个阶段通过随机事件修改属性,触发特殊事件(如夭折)则游戏结束。

              import random
              import sys
              import time
              
              # 游戏开场文案
              print("=" * 50)
              print("花有重开日,人无再少年")
              print("欢迎来到 人生重开模拟器")
              print("=" * 50)
              
              # 1. 设置初始属性(颜值、体质、智力、家境)
              while True:
                  print("n请设定初始属性(可用总点数20,每项1-10分)")
                  face = int(input("设定 颜值(1-10):"))
                  strong = int(input("设定 体质(1-10):"))
                  iq = int(input("设定 智力(1-10):"))
                  home = int(input("设定 家境(1-10):"))
                  
                  # 验证属性合法性
                  if face < 1 or face > 10:
                      print("颜值必须在1-10之间!")
                      continue
                  if strong < 1 or strong > 10:
                      print("体质必须在1-10之间!")
                      continue
                  if iq < 1 or iq > 10:
                      print("智力必须在1-10之间!")
                      continue
                  if home < 1 or home > 10:
                      print("家境必须在1-10之间!")
                      continue
                  if face + strong + iq + home > 20:
                      print("总点数超过20!请重新分配!")
                      continue
                  
                  # 属性设置成功,退出循环
                  print("初始属性设定完成!")
                  print(f"颜值:{face},体质:{strong},智力:{iq},家境:{home}")
                  break
              
              # 2. 随机生成性别
              print("n正在生成性别...")
              time.sleep(1)  # 暂停1秒,增强游戏体验
              gender_point = random.randint(1, 6)  # 掷骰子1-6
              if gender_point % 2 == 1:
                  gender = "boy"
                  print("你是个男孩!")
              else:
                  gender = "girl"
                  print("你是个女孩!")
              
              # 3. 随机生成出生点(根据家境档位)
              print("n正在生成出生点...")
              time.sleep(1)
              birth_point = random.randint(1, 3)  # 掷骰子1-3,细分出生场景
              
              if home == 10:
                  print("你出生在帝都,你的父母是高官政要!")
                  home += 1
                  iq += 1
                  face += 1
              elif 7 <= home <= 9:
                  if birth_point == 1:
                      print("你出生在大城市,你的父母是公务员!")
                      face += 2
                  elif birth_point == 2:
                      print("你出生在大城市,你的父母是大企业高管!")
                      home += 2
                  else:
                      print("你出生在大城市,你的父母是大学教授!")
                      iq += 2
              elif 4 <= home <= 6:
                  if birth_point == 1:
                      print("你出生在三线城市,你的父母是教师!")
                      iq += 1
                  elif birth_point == 2:
                      print("你出生在镇上,你的父母是医生!")
                      strong += 1
                  else:
                      print("你出生在镇上,你的父母是个体户!")
                      home += 1
              else:
                  if 1 <= birth_point <= 2:
                      print("你出生在村里,你的父母是辛苦劳作的农民!")
                      strong += 1
                      face -= 2
                  elif 3 <= birth_point <= 4:
                      print("你出生在穷乡僻壤,你的父母是无业游民!")
                      home -= 1
                  else:
                      print("你出生在镇上,你父母感情不和!")
                      strong -= 1
              
              print(f"出生后属性更新:颜值:{face},体质:{strong},智力:{iq},家境:{home}")
              
              # 4. 模拟幼年阶段(1-10岁)
              print("n" + "=" * 50)
              print("开始模拟幼年阶段(1-10岁)...")
              print("=" * 50)
              time.sleep(1)
              
              for age in range(1, 11):
                  info = f"n你今年{age}岁,"
                  event_point = random.randint(1, 3)  # 掷骰子触发事件
                  
                  # 性别+家境触发的特殊事件(女孩+家境差可能被遗弃)
                  if gender == "girl" and home <= 3 and event_point == 1:
                      info += "你家里人重男轻女思想非常严重,你被遗弃了!"
                      print(info)
                      print("游戏结束!")
                      sys.exit(0)  # 退出程序
                  
                  # 体质差触发的事件(生病)
                  elif strong < 6 and event_point != 3:
                      info += "你生了一场病,"
                      if home >= 5:
                          info += "在父母的精心照料下恢复了健康,体质略有提升!"
                          strong += 1
                          home -= 1  # 家境消耗
                      else:
                          info += "你的父母没精力管你,身体状况更糟糕了!"
                          strong -= 1
                  
                  # 颜值差触发的事件(被小朋友孤立)
                  elif face < 4 and age >= 7:
                      info += "你因为长得太丑,别的小朋友不喜欢你,"
                      if iq > 5:
                          info += "你决定用学习填充自己,智力提升!"
                          iq += 1
                      else:
                          if gender == "boy":
                              info += "你和别的小朋友经常打架,体质提升但智力下降!"
                              strong += 1
                              iq -= 1
                          else:
                              info += "你经常被别的小朋友欺负,体质下降!"
                              strong -= 1
                  
                  # 智商差触发的事件(看起来傻傻的)
                  elif iq < 5:
                      info += "你看起来傻傻的,"
                      if home >= 8 and age >= 6:
                          info += "你的父母给你送到更好的学校学习,智力提升!"
                          iq += 1
                      elif 4 <= home <= 7:
                          if gender == "boy":
                              info += "你的父母鼓励你多运动,身体素质提升!"
                              strong += 1
                          else:
                              info += "你的父母鼓励你多打扮自己,颜值提升!"
                              face += 1
                      else:
                          info += "你的父母为此经常吵架,随机属性下降!"
                          if event_point == 1:
                              strong -= 1
                          elif event_point == 2:
                              iq -= 1
                  
                  # 健康成长(无负面事件)
                  else:
                      info += "你健康成长,"
                      if event_point == 1:
                          info += "看起来更聪明了,智力提升!"
                          iq += 1
                      elif event_point == 2:
                          info += "看起来更好看了,颜值提升!"
                          face += 1
                      else:
                          info += "看起来更结实了,体质提升!"
                          strong += 1
                  
                  # 打印当年经历和属性
                  print(info)
                  print(f"当前属性:颜值={face},体质={strong},智力={iq},家境={home}")
                  time.sleep(1)  # 暂停1秒,方便阅读
              
              print("n" + "=" * 50)
              print("幼年阶段结束!后续可继续扩展青年、壮年、老年阶段...")
              print("=" * 50)
              

              到此这篇关于Python基础语法入门之顺序、条件与循环的文章就介绍到这了,更多相关Python顺序、条件与循环内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

              您可能感兴趣的文章:

              • python条件和循环的使用方法
              • Python中条件选择和循环语句使用方法介绍
              • Python入门篇之条件、循环
              • 对python中的控制条件、循环和跳出详解
              • Python 条件,循环语句详解
              • Python条件语句与循环语句

              站内搜索