Python基础-Python流程控制

2023-01-31 04:01:30 python 基础

上篇文章 Python基础-基础使用 我们已经知道了python解释器,Python的变量、和Python的输入输出、Python的注释和字符集,这篇文章,我们主要讲Python的流程控制


本文防盗链:http://python789.blog.51cto.com


Python基础-Python流程控制


1、条件判断

1.1、if基本使用

if就是一个条件判断的,当满足不同样的条件的时候执行不同的操作,如法如下:

if 条件1:
    满足条件1 代码框
elif 添加2:
    满足条件2 代码框
else:
    上面两个都没有满足执行这个 代码框

案例1、

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
# 用户交互
_Score = int(input("请输入学生分数"))
# 分数判断
if _Score > 90:
   print("优秀")
elif _Score >60:
   print("一般")
else:
   print("请家长")

1.2、if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if

  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:if嵌套

if嵌套的格式

if 条件1:
    满足条件1 做的事情1
    满足条件1 做的事情2
    ...(省略)...
    if 条件2:
        满足条件2 做的事情1
        满足条件2 做的事情2
        ...(省略)...

说明

  • 外层的if判断,也可以是if-else

  • 内层的if判断,也可以是if-else

  • 根据实际开发的情况,进行选择

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
# 用户交互
_Ticket = int(input("请输入车票号"))
if _Ticket == 302:
   print("车票通过")
   _Trunk = (input("请输入您的车座位号"))
   if _Trunk == 41:
      print("你的车票在42排,左边靠窗的位置")
   elif _Trunk == 42:
      print("你的车票在42排,左边三座中间位置")
   else:
      print("你的车票在42排,左边靠过道位置")
else:
   print("车票未通过")

1.3、猜拳小游戏

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
# 随机数模块加载
import random
player = int(input('请输入:剪刀(0)  石头(1)  布(2):'))
computer = random.randint(0,2)
if ((player == 1 and computer ==0 )) or ((player == 0 and computer ==2 )) or ((player == 2 and computer ==1 )):
    print("恭喜您,你硬了")
elif player == computer:
    print("平局了,再来一局")
else:
    print("你失败了...")

2、循环语句

2.1、循环结束

在我们生活中,我们有时候下了晚自习,为了锻炼达到锻炼身体,有的人就给自己定个目标每周1-5我们在围着操场跑步10圈,这也是一种循环。还有就是我们小时候夏天的时候风扇,如果开了就转一下,你肯定会扔了他,风扇不停的转也是一种循环

2.2、for

在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

for循环的格式

for 临时变量 in 列表或者字符串等:
    循环满足条件时执行的代码
else:
    循环不满足条件时执行的代码

案例1、

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
name = "zhanghe"
for i in name:
    print(i)
/usr/local/bin/python3 /Users/zhanghe/PyCharmProjects/fullstack_1/Python/test-01.py
z
h
a
n
g
h
e

案例2、

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
name = ''
for i in name:
    print(i)
else:
    print("没有数据")
/usr/local/bin/python3 /Users/zhanghe/PycharmProjects/fullstack_1/Python_zm/test-01.py
没有数据

2.3、while

while循环是只要条件满足,那么就会一直运行代码块,否则就运行else代码块,

语法如下:

while <条件>:
    <代码块>
else:
    <如果条件不成立执行这里的代码块>

用while打印九九乘法表

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#__author__: zhanghe
#Date: 2017/10/20
i = 1
while i<=9:
    j = 1
    while j <=i:
        print("%d*%d=%d " %(j,i,i*j),end='')
        j = j+1
    print('')
    i = i+1
/usr/local/bin/python3 /Users/zhanghe/PycharmProjects/fullstack_1/Python_zm/test-01.py
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

2.4、break和continue

下面两个都是循环终止语句

如果在循环的过程中,因为某些原因,你不想继续循环了,就要用到break 或 continue 终止语句。

  • - break:完全跳出循环,执行循环后的代码。

  • - continue:跳出本次循环,不执行continue后的代码,重新进入循环进行循环的条件判断。

2.4.1、break

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# __author__: zhanghe
# Date: 2017/10/27
Name = "BaiDu"
for i in Name:
    print("*********")
    if i == "D":
        break
    print(i)

/usr/local/bin/python3 /Users/zhanghe/PycharmProjects/fullstack_1/Python_zm/test.py
*********
B
*********
a
*********
i
*********
Process finished with exit code 0
# 满足到D后面都不执行

2.4.1、continue

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# __author__: zhanghe
# Date: 2017/10/27
Name = "BaiDu"
for i in Name:
    print("*********")
    if i == "D":
        continue
    print(i)

/usr/local/bin/python3 /Users/zhanghe/PycharmProjects/fullstack_1/Python_zm/test.py
*********
B
*********
a
*********
i
*********
*********
u
Process finished with exit code 0
# 满足D跳过D后面继续执行

相关文章