流程控制

流程结构分为3种

  1. 顺序结构

  2. 分支结构

  3. 循环结构

一  分支结构

(1) 单一条件分支

主体结构:

if 条件表达式:
    #为真得代码块
 

(2) 双向条件分支

主体结构:
if 条件表达式
    #为真代码块
else:
    #为假的代码块
 

(3) 多向条件分支

主体结构:

if 条件表达式:
    #为真得代码块
elif 条件表达式:
    #为真得代码块
...
else:
    #以上条件都不满足  则走else
 

实例

grade = eval(input('请输入你的成绩'))
if grade>100 or grade<0:
    print('请输入正确的成绩')
elif grade>=90 and grade<=100:
    print('成绩为 优')
# elif grade>=70 and grade<=89
elif grade>=70 and grade<90:
    print('成绩为 良')
elif grade>=60 and grade<70:
    print('成绩 勉强合格')
else:
    print('成绩不合格')
 

(4) 巢状分支结构

概述: 说白了 就是if的嵌套

格式:

if 条件表达式
    if 条件表达式
        #为真代码块
    else:
        #为假的代码块
else:
    if 条件表达式
        #为真代码块
    else:
        #为假的代码块
 

(5) if 的简写

 
‘为真的代码块’ if 条件表达式  else  ‘为假得代码块’

二  循环结构

(一) while 循环

主体结构:
while 条件:  
    #循环体
    
#搭配else
while 条件:
    #循环体
else:
    #代码块
 

注意:

  1. 如果条件一直为真 则为死循环 (在书写循环得时候 需要注意)

  2. while 和else 搭配得时候 当条件表达式为 假得时候 会执行else

  3. 当 循环体内 执行了break 不会在走else

(二) for 循环

主体结构
for 变量名 in 序列:
    #函数体
#搭配else 
for 变量名 in 序列:
    #函数体
else:
    #代码块
 

注意:

  1. for和else 搭配得时候 当条件表达式为 假得时候 会执行else

  2. 当 循环体内 执行了break 不会在走else

  3. 只能遍历序列(也就是多个值)

  4. for 常和 range搭配使用

(三) 循环关键字

  1. break 跳出循环

  2. continue 跳过本次循环 继续下一次循环

  3. 只能使用在循环中

 

运算符

一、算数运算符

  1. +

  2. -

  3. *

  4. / 返回浮点数 float

  5. // 返回整数部分

  6. ** x得 y次方

  7. % 取余数

二、比较运算符

 
>   <   >=  <=  !=   ==  
 

注意:

返回bool值

三、赋值运算符

 
+=  -=      *=      **=     /=  //=     %=
 

四、逻辑运算符

运算符 运算符说明 使用 注意
and 逻辑与 俩侧为真 才为真 True and True 如果俩侧都为真 则返回 后一个值
or 逻辑或 俩侧为假才为假 False or False  
not 逻辑非 真为假 假为真  

五、成员运算符

运算符 运算符说明
in 某个值 是否存在 序列中 返回 bool值
not in 某个值 是否不存在 序列中 返回 bool值

六、身份运算符

运算符 运算符说明 相当于
is 判断俩个标识符 是否引用自同一个对象 行 id(a) == id(b)
is not 判断俩个标识符 是否引用自不同对象 id(a) != id(b)

七、位运算符

运算符 运算符说明
& 按位与 参与运算的俩个值 如果对应得俩个相同 则为1 否则位0
| 按位或运算 有一个为1 就为1
^ 按位异或 当俩位数 不相同时 就为1
~ 按位取反运算符 把二进制得数 进行取反
<< 左移运算符: 2<<1 像左移动一位 高位丢弃 低位补0
>> 右移运算符: 2<<1 像右移动一位 高位补0 低位丢弃

注意:

运算符优先级 不建议记住 如果有优先级问题 使用括号


python 基础(三) 程序基本流程的更多相关文章

  1. Python 基础 三 反射

    Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...

  2. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  3. Python基础-三次用户验证登录购买商品程序

    需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...

  4. Python 基础三 文件 函数

    今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...

  5. Python基础三(选择,循环)

    序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...

  6. python基础(3)---流程控制

    流程控制 与C语言不通的是python的流程控制代码块不是用{}花括号表示的,而是强制缩进来控制的:而且缩进必须一致,官方推荐是使用4个空格,不建议使用tab(制表符)做缩进,一是不同的系统tab所占 ...

  7. python基础02—运算符与流程控制

    运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...

  8. Python基础三. 函数、lambda、filter、map、reduce

    一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...

  9. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

随机推荐

  1. POJ 2309 BST(二叉搜索树)

    BST Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8657   Accepted: 5277 Description C ...

  2. android vector pathData探究,几分钟绘制自己的vectordrawable

    之前经常看到一些酷酷的图标效果, 深入进去发现不是直接用的图片, 而是一些以Vector标签开头的xml文件, 于是就看到了如下代码: <vector xmlns:android="h ...

  3. org.jetbrains.android.uipreview.RenderingException: Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupported major.minor version 52.0

    在Android Studio使用的时候,突然发现Preview功能不能用了,报了一个错,错误如下 org.jetbrains.android.uipreview.RenderingException ...

  4. Yii的缓存机制之页面缓存

    页面缓存是不能通过片段缓存来实现的,因为布局和内容不能同时缓存.只能通过过滤器来生成缓存. 实现方法: 在控制器里使用过滤器来实现 function filters (){ return array( ...

  5. git比较两个版本,获取所有代码有差别的文件,并拷贝到一个文件夹中

    git diff 3b3855d a024af5 --name-only | xargs -i cp '{}' ./update/ --parents 解释:通过xargs 命令,把git diff  ...

  6. 初始化cache_dir(squid)

    sed -i '/adjustFactor/d' /CNCLog/exactTraffic/conf/localTraffic.cfgecho "adjustFactor = '-0.67 ...

  7. JavaWeb之动态页面技术JSP/EL/JSTL

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  8. poj3565Ants——KM算法

    题目:http://poj.org/problem?id=3565 首先,我们神奇地发现,没有相交边的匹配可以转化为距离和最小的匹配,所以可以使用KM算法求带权匹配: 要求的是距离和最小,所以把边权转 ...

  9. C语言指针入门知识

    C语言指针往往是C语言学习过程中最困难的地方, 最近重新理解了一下C语言的指针知识, 在此整理一下, 如果有错误请留言指正. 对于刚入门的人来说, 指针涉及方方面面, 从简单的数组到结构体, 都会用到 ...

  10. Mice and Holes

    题意: 有 $n$ 只老鼠和 $m$ 个鼠洞,第 $i$ 只老鼠的坐标为 $x_i$,第 $j$ 个鼠洞的坐标为 $p_j$ ,容量为 $c_j$. 第 $i$ 只老鼠钻进第 $j$ 个鼠洞的距离为 ...