python 基础(三) 程序基本流程
流程控制
流程结构分为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:
#代码块
注意:
如果条件一直为真 则为死循环 (在书写循环得时候 需要注意)
while 和else 搭配得时候 当条件表达式为 假得时候 会执行else
当 循环体内 执行了break 不会在走else
(二) for 循环
主体结构
for 变量名 in 序列:
#函数体
#搭配else
for 变量名 in 序列:
#函数体
else:
#代码块
注意:
for和else 搭配得时候 当条件表达式为 假得时候 会执行else
当 循环体内 执行了break 不会在走else
只能遍历序列(也就是多个值)
for 常和 range搭配使用
(三) 循环关键字
break 跳出循环
continue 跳过本次循环 继续下一次循环
只能使用在循环中
运算符
一、算数运算符
+-*/返回浮点数 float//返回整数部分**x得 y次方%取余数
二、比较运算符
> < >= <= != ==
注意:
返回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 基础(三) 程序基本流程的更多相关文章
- Python 基础 三 反射
Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- Python基础-三次用户验证登录购买商品程序
需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...
- Python 基础三 文件 函数
今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...
- Python基础三(选择,循环)
序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...
- python基础(3)---流程控制
流程控制 与C语言不通的是python的流程控制代码块不是用{}花括号表示的,而是强制缩进来控制的:而且缩进必须一致,官方推荐是使用4个空格,不建议使用tab(制表符)做缩进,一是不同的系统tab所占 ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- Python基础三. 函数、lambda、filter、map、reduce
一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
随机推荐
- POJ 2309 BST(二叉搜索树)
BST Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8657 Accepted: 5277 Description C ...
- android vector pathData探究,几分钟绘制自己的vectordrawable
之前经常看到一些酷酷的图标效果, 深入进去发现不是直接用的图片, 而是一些以Vector标签开头的xml文件, 于是就看到了如下代码: <vector xmlns:android="h ...
- 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 ...
- Yii的缓存机制之页面缓存
页面缓存是不能通过片段缓存来实现的,因为布局和内容不能同时缓存.只能通过过滤器来生成缓存. 实现方法: 在控制器里使用过滤器来实现 function filters (){ return array( ...
- git比较两个版本,获取所有代码有差别的文件,并拷贝到一个文件夹中
git diff 3b3855d a024af5 --name-only | xargs -i cp '{}' ./update/ --parents 解释:通过xargs 命令,把git diff ...
- 初始化cache_dir(squid)
sed -i '/adjustFactor/d' /CNCLog/exactTraffic/conf/localTraffic.cfgecho "adjustFactor = '-0.67 ...
- JavaWeb之动态页面技术JSP/EL/JSTL
一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...
- poj3565Ants——KM算法
题目:http://poj.org/problem?id=3565 首先,我们神奇地发现,没有相交边的匹配可以转化为距离和最小的匹配,所以可以使用KM算法求带权匹配: 要求的是距离和最小,所以把边权转 ...
- C语言指针入门知识
C语言指针往往是C语言学习过程中最困难的地方, 最近重新理解了一下C语言的指针知识, 在此整理一下, 如果有错误请留言指正. 对于刚入门的人来说, 指针涉及方方面面, 从简单的数组到结构体, 都会用到 ...
- Mice and Holes
题意: 有 $n$ 只老鼠和 $m$ 个鼠洞,第 $i$ 只老鼠的坐标为 $x_i$,第 $j$ 个鼠洞的坐标为 $p_j$ ,容量为 $c_j$. 第 $i$ 只老鼠钻进第 $j$ 个鼠洞的距离为 ...