流程控制

流程结构分为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. 测试,测试开发,QA,QM,QC--------- 测试之路勿跑偏

    测试,测试开发,QA,QM,QC可能是测试行业里的细分角色了,加了不少群学习,看到不同人有对自己不同的角色定位.我也做了这挺长时间的测试,也和大部分测试同胞一样,为了一份好的工作学习各种各样的技术,但 ...

  2. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...

  3. codeforces 701E E. Connecting Universities(树的重心)

    题目链接: E. Connecting Universities time limit per test 3 seconds memory limit per test 256 megabytes i ...

  4. 出现”/var/lib/mysql/mysql.sock“不存在的解决方法

    这种情况大多数是因为你的mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,通过unix socket登录mysql.常见解决办法如下:1.创 ...

  5. 洛谷 P3803 多项式乘法(FFT) —— FFT

    题目:https://www.luogu.org/problemnew/show/P3803 终于学了FFT了! 参考博客:https://www.cnblogs.com/zwfymqz/p/8244 ...

  6. bzoj4066

    KD-tree 强制在线就不能愉快的做这道题了. 我们用KD-tree维护平面上的点,这样建出来的树高大概是log,复杂度过得去,但是插入过多会使树深很深,这样就能卡死,那么我们每个10000次插入就 ...

  7. In-App Purchase Programming Guide----(一) ---- About In-App Purchase

    About In-App Purchase In-App Purchase allows you to embed a store inside your app using the Store Ki ...

  8. 5、overflow、hover

    一.overflow 1.属性介绍 说明: 这个属性定义溢出元素内容区的内容会如何处理.如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制.因此,有可能即使元素框中可以放下所有内容也会 ...

  9. ElasticSearch基础之批量操作(mget+mbulk)

      在前面的演示中,我们都是基于一次http查询,每次查询都要建立http的三次握手请求,这样比较耗费性能!因此ES给我们提供了基本的批量查询功能,例如如下的查询,注意里面的index是可以任意指明的 ...

  10. UVaLive 2965 Jurassic Remains (状态压缩)

    题意:给定 n 个大写字母组成的字符串,选择尽量多的串,使得大写字母都能出现偶数次. 析:由于n比较小,我们可以枚举前n/2的所有组合,然后再从后面查找. 代码如下: #pragma comment( ...