python流程控制语句,python的程序执行方式

  python流程控制语句,python的程序执行方式

  本文主要介绍Python的执行过程控制,也就是控制过程,具体指控制程序的执行过程,程序的执行过程分为三种结构:序列结构、分支结构、循环结构。请参考以下关于所需合作伙伴的详细信息。

  00-1010一引两分支2.1什么是分支结构2.2为什么用分支结构2.3如何用分支结构2.3.1 if语法2.3.2 if应用案例3.1什么是循环结构3.2为什么用循环结构3.3.1 while循环语法3.3.2 while循环应用案例3.3.3

  

目录

  控制即控制过程,特指控制程序的执行过程。程序的执行过程分为三种结构:序列结构(我们之前写的代码都是序列结构)、分支结构(如果使用判断)和循环结构(使用while和for)。

  

一 引子

  

二 分支结构

  分支结构就是根据条件的真假判断,执行不同分支对应的子代码。

  

2.1 什么是分支结构

  有时人类需要根据条件决定做什么,例如,如果今天下雨,带把伞。

  所以程序中必须有相应的机制来控制计算机具备这种判断能力。

  

2.2 为什么要用分支结构

  

2.3 如何使用分支结构

  If关键字用来实现分支结构,完整的语法如下

  If 1: #如果条件1的结果为真,则按顺序执行:代码1,代码2,

  代码1

  代码2

  .

  Elif条件23360 #如果条件2的结果为真,则按顺序执行:代码3,代码4,

  代码3

  代码4

  .

  Elif条件: #如果条件3的结果为真,则按顺序执行:代码5,代码6,

  代码5

  代码6

  .

  Else: #其他情况下依次执行:代码7,代码8,

  代码7

  代码8

  .

  #注意:

  # 1,python识别一组缩进相同的代码块(4个空格一个缩进),同一组代码会从上到下依次运行。

  # 2.条件可以是任何表达式,但执行结果必须是布尔类型。

  #所有数据类型在if判断中都会自动转换为布尔类型。

  # 2.1,None,0,empty(空字符串,空列表,空字典等。),转换成的布尔值为假。

  # 2.2,其余都是真的

  

2.3.1 if语法

  案例1:

  如果:女方年龄30,那么:叫她阿姨。

  女孩年龄=31岁

  如果女孩的年龄是30:

  打印(“你好阿姨”)

  案例2:

  如果:女性30岁,那么:叫阿姨,否则:叫小姐。

  女孩年龄=18岁

  如果女孩的年龄是30:

  打印(“你好阿姨”)

  else:

  打印(“你好,小姐”)

  案例3:

  如果:女方年龄=18和22,身高170体重100,长得漂亮,那么:表白,否则:叫她* *阿姨

  女孩年龄=18岁

  身高=171

  魏

  ght=99

  is_pretty=True

  if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:

   print(表白...)

  else:

   print(阿姨好)

  

  案例4:

  如果:成绩>=90,那么:优秀

  如果成绩>=80且<90,那么:良好

  如果成绩>=70且<80,那么:普通

  其他情况:很差

  

score=input(>>: )

  score=int(score)

  if score >= 90:

   print(优秀)

  elif score >= 80:

   print(良好)

  elif score >= 70:

   print(普通)

  else:

   print(很差)

  

  案例5:if嵌套

  

#在表白的基础上继续:

  #如果表白成功,那么:在一起

  #否则:打印。。。

  age_of_girl=18

  height=171

  weight=99

  is_pretty=True

  success=False

  if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:

   if success:

   print(表白成功,在一起)

   else:

   print(什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊...)

  else:

   print(阿姨好)

  练习1: 登陆功能

  

name=input(请输入用户名字:).strip()

  password=input(请输入密码:).strip()

  if name == tony and password == 123:

   print(tony login success)

  else:

   print(用户名或密码错误)

  

  练习2:

  

#!/usr/bin/env python

  #根据用户输入内容打印其权限

  egon --> 超级管理员

  tom --> 普通管理员

  jack,rain --> 业务主管

  其他 --> 普通用户

  name=input(请输入用户名字:)

  if name == egon:

   print(超级管理员)

  elif name == tom:

   print(普通管理员)

  elif name == jack or name == rain:

   print(业务主管)

  else:

   print(普通用户)

  

  

  

三 循环结构

  

  

3.1 什么是循环结构

  循环结构就是重复执行某段代码块

  

  

3.2 为什么要用循环结构

  人类某些时候需要重复做某件事情

  所以程序中必须有相应的机制来控制计算机具备人的这种循环做事的能力

  

  

3.3 如何使用循环结构

  

  

3.3.1 while循环语法

  python中有while与for两种循环机制,其中while循环称之为条件循环,语法如下

  

while 条件: 

   代码1

   代码2

   代码3

   ......

  # while的运行步骤:

  # 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......

  # 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止

  

  插图:while循环

  

  

3.3.2 while循环应用案例

  案例一:while循环的基本使用

  用户认证程序

  

#用户认证程序的基本逻辑就是接收用户输入的用户名密码然后与程序中存放的用户名密码进行判断,判断成功则登陆成功,判断失败则输出账号或密码错误

  username = "jason"

  password = "123"

  inp_name = input("请输入用户名:")

  inp_pwd = input("请输入密码:")

  if inp_name == username and inp_pwd == password:

   print("登陆成功")

  else:

   print("输入的用户名或密码错误!")

  #通常认证失败的情况下,会要求用户重新输入用户名和密码进行验证,如果我们想给用户三次试错机会,本质就是将上述代码重复运行三遍,你总不会想着把代码复制3次吧。。。。

  username = "jason"

  password = "123"

  # 第一次验证

  inp_name = input("请输入用户名:")

  inp_pwd = input("请输入密码:")

  if inp_name == username and inp_pwd == password:

   print("登陆成功")

  else:

   print("输入的用户名或密码错误!")

  # 第二次验证

  inp_name = input("请输入用户名:")

  inp_pwd = input("请输入密码:")

  if inp_name == username and inp_pwd == password:

   print("登陆成功")

  else:

   print("输入的用户名或密码错误!")

  # 第三次验证

  inp_name = input("请输入用户名:")

  inp_pwd = input("请输入密码:")

  if inp_name == username and inp_pwd == password:

   print("登陆成功")

  else:

   print("输入的用户名或密码错误!")

  #即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。

  #那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦(使用while循环实现)

  username = "jason"

  password = "123"

  # 记录错误验证的次数

  count = 0

  while count < 3:

   inp_name = input("请输入用户名:")

   inp_pwd = input("请输入密码:")

   if inp_name == username and inp_pwd == password:

   print("登陆成功")

   else:

   print("输入的用户名或密码错误!")

   count += 1

  

  案例二:while+break的使用

  使用了while循环后,代码确实精简多了,但问题是用户输入正确的用户名密码以后无法结束循环,那如何结束掉一个循环呢?这就需要用到break了!

  

username = "jason"

  password = "123"

  # 记录错误验证的次数

  count = 0

  while count < 3:

   inp_name = input("请输入用户名:")

   inp_pwd = input("请输入密码:")

   if inp_name == username and inp_pwd == password:

   print("登陆成功")

   break # 用于结束本层循环

   else:

   print("输入的用户名或密码错误!")

   count += 1

  

  案例三:while循环嵌套+break

  如果while循环嵌套了很多层,要想退出每一层循环则需要在每一层循环都有一个break

  

username = "jason"

  password = "123"

  count = 0

  while count < 3: # 第一层循环

   inp_name = input("请输入用户名:")

   inp_pwd = input("请输入密码:")

   if inp_name == username and inp_pwd == password:

   print("登陆成功")

   while True: # 第二层循环

   cmd = input(>>: )

   if cmd == quit:

   break # 用于结束本层循环,即第二层循环

   print(run <%s> % cmd)

   break # 用于结束本层循环,即第一层循环

   else:

   print("输入的用户名或密码错误!")

   count += 1

  

  案例四:while循环嵌套+tag的使用

  针对嵌套多层的while循环,如果我们的目的很明确就是要在某一层直接退出所有层的循环,其实有一个窍门,就让所有while循环的条件都用同一个变量,该变量的初始值为True,一旦在某一层将该变量的值改成False,则所有层的循环都结束

  

username = "jason"

  password = "123"

  count = 0

  tag = True

  while tag:

   inp_name = input("请输入用户名:")

   inp_pwd = input("请输入密码:")

   if inp_name == username and inp_pwd == password:

   print("登陆成功")

   while tag:

   cmd = input(>>: )

   if cmd == quit:

   tag = False # tag变为False, 所有while循环的条件都变为False

   break

   print(run <%s> % cmd)

   break # 用于结束本层循环,即第一层循环

   else:

   print("输入的用户名或密码错误!")

   count += 1

  

  案例五:while+continue的使用

  break代表结束本层循环,而continue则用于结束本次循环,直接进入下一次循环

  

# 打印1到10之间,除7以外的所有数字

  number=11

  while number>1:

   number -= 1

   if number==7:

   continue # 结束掉本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环

   print(number)

  

  案例五:while+else的使用

  在while循环的后面,我们可以跟else语句,当while 循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束

  

count = 0

  while count <= 5 :

   count += 1

   print("Loop",count)

  else:

   print("循环正常执行完啦")

  print("-----out of while loop ------")

  输出

  Loop 1

  Loop 2

  Loop 3

  Loop 4

  Loop 5

  Loop 6

  循环正常执行完啦 #没有被break打断,所以执行了该行代码

  -----out of while loop ------

  

  如果执行过程中被break,就不会执行else的语句

  

count = 0

  while count <= 5 :

   count += 1

   if count == 3:

   break

   print("Loop",count)

  else:

   print("循环正常执行完啦")

  print("-----out of while loop ------")

  输出

  Loop 1

  Loop 2

  -----out of while loop ------ #由于循环被break打断了,所以不执行else后的输出语句

  练习1:

  寻找1到100之间数字7最大的倍数(结果是98)

  

number=100

  while number>0:

   if number%7==0:

   print(number)

   break

   number-=1

  

  练习2:

  

age=18

  count=0

  while count<3:

   count+=1

   guess = int(input(">>:"))

   if guess > age :

   print("猜的太大了,往小里试试...")

   elif guess < age :

   print("猜的太小了,往大里试试...")

   else:

   print("恭喜你,猜对了...")

  

  

  

3.3.3 for循环语法

  循环结构的第二种实现方式是for循环,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁,

  for循环语法如下

  

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象

   代码一

   代码二

   ...

  #例1

  for item in [a,b,c]:

   print(item)

  # 运行结果

  a

  b

  c

  # 参照例1来介绍for循环的运行步骤

  # 步骤1:从列表[a,b,c]中读出第一个值赋值给item(item=‘a),然后执行循环体代码

  # 步骤2:从列表[a,b,c]中读出第二个值赋值给item(item=‘b),然后执行循环体代码

  # 步骤3: 重复以上过程直到列表中的值读尽

  

  

  

3.3.4 for循环应用案例

  案例一:打印数字0-5

  

# 简单版:for循环的实现方式

  for count in range(6): # range(6)会产生从0-5这6个数

   print(count)

  # 复杂版:while循环的实现方式

  count = 0

  while count < 6:

   print(count)

   count += 1

  

  案例二:遍历字典

  

# 简单版:for循环的实现方式

  for k in {name:jason,age:18,gender:male}: # for 循环默认取的是字典的key赋值给变量名k

   print(k)

  # 复杂版:while循环确实可以遍历字典,后续将会迭代器部分详细介绍

  

  案例三:for循环嵌套

  

#请用for循环嵌套的方式打印如下图形:

  *****

  *****

  *****

  for i in range(3):

   for j in range(5):

   print("*",end=)

   print() # print()表示换行

  

  

注意:break 与 continue也可以用于for循环,使用语法同while循环

  

  练习一:

  打印九九乘法表

  

for i in range(1,10):

   for j in range(1,i+1):

   print(%s*%s=%s %(i,j,i*j),end= )

   print()

  

  练习二:

  打印金字塔

  

# 分析

  #max_level=5

   * # current_level=1,空格数=4,*号数=1

   *** # current_level=2,空格数=3,*号数=3

   ***** # current_level=3,空格数=2,*号数=5

   ******* # current_level=4,空格数=1,*号数=7

   ********* # current_level=5,空格数=0,*号数=9

  # 数学表达式

  空格数=max_level-current_level

  *号数=2*current_level-1

  # 实现:

  max_level=5

  for current_level in range(1,max_level+1):

   for i in range(max_level-current_level):

   print( ,end=) #在一行中连续打印多个空格

   for j in range(2*current_level-1):

   print(*,end=) #在一行中连续打印多个空格

   print()

  到此这篇关于Python执行流程控制 详情的文章就介绍到这了,更多相关Python执行流程内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: