基本运算符,流程控制if、while
基本运算符
算术运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 | a + b |
| - | 减 | a - b |
| * | 乘 | a * b |
| / | 除 | a / b |
| % | 取余 | a % b |
| // | 整除 | a // b |
| ** | 幂运算 | a ** b 2**3=8 |
比较运算符
假设变量a = 10, b = 20
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于,比较对象是否相等 | a == b 返回False |
| != | 不等于,比较对象是否不相等 | a != b 返回True |
| < | 小于 | a < b 返回True |
| <= | 小于等于 | a <= b 返回True |
| > | 大于 | a > b 返回False |
| >= | 大于等于 | a >= 返回False |
赋值运算符
= += -= /= *= %= //= **=
逻辑运算符
| 运算符 | 实例 |
|---|---|
| and | and 左右两个条件都为True,则为True,否则为False |
| or | or 左右两个条件只要有一个满足则为True,否则为False |
| not | not 否,如果条件为True,则为False,如果条件为False,则为True |
name = 'cwz'
height = 180
weight = 140
print(name == 'cwz' and height == 180) # True
print(name == 'cwz2' and weight == 140) # False
print(name == 'cwz2' or weight == 140) # True
print(name == 'cwz2' or weight == 120) # False
print(not name == 'cwz') # False
身份运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| is | is判断两个标识符是不是引用自一个对象 | x is y, 如果引用自同一对象,返回True,否则返回False |
| is not | is not 判断两个标识符是不是引用自不同对象 | x is not y, 如果引用来自不同对象,返回True,否则返回False |
is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等。
成员运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定序列中找到值,返回True,否则False | x = 1, y = [1,2,3,4], x in y ->返回True |
| not in | 如果在指定序列中没找到值,返回True,否则False | x = 1, y = [1,2,3,4], x not in y ->返回False |
位运算符
按位运算符把数字看作二进制来进行来进行计算。
下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011

python运算符优先级
优先级高的用括号括起来就行了。。。
流程控制之if判断
流程控制 就是 控制 变量变化的一个方向
单分支结构
if 条件: # 条件成立执行下面的代码
代码
双分支结构
if 条件1: # 条件1成立执行代码1,不成立执行代码2
代码1
else:
代码2
多分支结构
if 条件1:
代码1
elif 条件2: # if后面条件成立,执行代码1,不会走下一步。只有if后面条件不成立才会走到这一步,才会执行代码2
代码2
elif 条件3:
代码3
elif 条件4:
代码4
......
(elif 可以有很多)
else:
代码
练习:
'''
如果 成绩>=90,打印"优秀"
如果 成绩>=80 并且 成绩<90,打印"良好"
如果 成绩>=70 并且 成绩<80,打印"普通"
其他情况:打印"差"
'''
grade = input('请输入你的成绩:')
grade_int = int(grade)
if grade_int>=90:
print('优秀')
elif grade_int >=80:
print('良好')
elif grade_int >=70:
print('普通')
else:
print('差')
找bug的绝招,打印变量,查看变量的变化过程 --》 debug的来源
流程判断之while循环
循环 --> 有规律的重复干一件事
语法
while 条件: # 条件成立运行代码,不成立结束while循环
代码 # 代码执行结束后会进入下一次循环
while True:
print(1)
这个程序会无限打印输出1, 我们需要停下来怎么办?
while + break
打印1-100:
count = 0
while True:
if count == 100:
break # break终止循环
count += 1
print(count)
while + continue
打印1-100,不打印50
count = 0
while True:
if count == 100:
break
count += 1
if count == 50:
continue # continue 跳出本次循环,不执行下面的代码
print(count)
打印1-100的偶数之和(不包括[22,46,68,98])
count = 0
sum_count = 0
while 1:
if count == 100:
break
count += 2
if count in [22,46,68,98]:
continue
sum_count += count
print(count)
print('和为:', sum_count )
tag中间变量 控制while循环
改进代码:
count = 0
sum_count = 0
while count < 100:
count += 2
if count in [22,46,68,98]:
continue
sum_count += count
print(count)
print('和为:', sum_count )
练习:
# 猜年龄游戏,三次机会
age = 19
count = 0
while count < 3:
age_inp = input('请输入你的年龄:').strip()
age_inp_int = int(age_inp)
if age_inp_int == age:
print('猜对了')
break
elif age_inp_int < age:
print('猜小了')
else:
print('猜小了')
count += 1
print(f'你还有{3 - count}次机会')
while + else (仅作了解)
count = 0
while count < 5:
count += 1
print(count)
else:
print('没有被break打断我就能出来')
# 打印结果:
1
2
3
4
5
没有被break打断我就能出来
while... else... 循环过程没有被break中断就会执行else后面的代码,否则不会执行else后面的代码。
基本运算符,流程控制if、while的更多相关文章
- python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法
基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...
- day04 运算符 流程控制 (if while/of)
1. 运算符算数运算符 + - * / int / float :数字类型 # print(10 + 3.1)# print(10 / 3)# print(10 // 3)# print(10 % 3 ...
- <基础> PHP 运算符 流程控制
PHP运算符优先级: 递增/递减 (++ / --) > 算术运算符(+ .- .* ./) > 大小比较 > 逻辑与 (&)> 逻辑或(||) > 三目 > ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
- day52类型转换 运算符 流程控制
0.复习 1.导入 <div id="div1" onclick="this.style.color = 'red';">12345</div ...
- JAVA:变量,数据类型,运算符,流程控制(简介)<1>
一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...
- Java学习第一篇:变量,数据类型,运算符,流程控制(简介)
一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...
- java基础语法2-运算符与流程控制
关键字-标识符-常量和变量-运算符-流程控制-方法-数组 5 运算符 算术运算符Arithmetic Operators 赋值运算符Assignment Operators 比较运算符Compare ...
- JavaScript 运算,流程控制和循环
算数运算符 算术运算符 描叙 运算符 实例 加 + 10 + 20 = 30 减 - 10 – 20 = -10 乘 * 10 * 20 = 600 除 / 10 / 20 = 0.5 取余数 % 返 ...
- Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...
随机推荐
- 七、数据提取之JSON与JsonPATH
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与 ...
- Hadoop序列化案例实操
需求 统计每一个手机号耗费的总上行流量.下行流量.总流量. 输入数据: 1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 200 2 138 ...
- luoguP3258 [JLOI2014]松鼠的新家
树上差分 树上差分分析 使点x到点y的路径上(链上),全加上一个值,可以选择使用树上差分(不用线段树乱搞.... 首先,和普通的差分一样,要有一个tag.然而,对于一个结点,我们需要求出它全部儿子的t ...
- day65_10_9vue循环指令与组件
一.v-once v-once指令赋值给标签后,这个标签中的所有变量都不能被更改,只能被渲染一次.之后的改动不能改变该标签中的值: <div id="app"> < ...
- Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法(VirtualBox只能创建32位虚拟机)
Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法 Hyper-V是微软的虚拟化软件,功能类似VirtualBox.VMware,可以用来创建虚拟机. 虚拟化软件都是基于CPU ...
- 《HBase在滴滴出行的应用场景和最佳实践》
HBase在滴滴出行的应用场景和最佳实践 背景 对接业务类型 HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时 ...
- celery分布式任务队列的使用
一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery ...
- 深挖计算机基础:MySQL实战45讲学习笔记
参考极客时间专栏<MySQL实战45讲>学习笔记 一.基础篇(8讲) MySQL实战45讲学习笔记:第一讲 MySQL实战45讲学习笔记:第二讲 MySQL实战45讲学习笔记:第三讲 My ...
- 在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件
在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件 一.前言 在Linux上办公有一点一直是大家的痛,那就是这些系统上没有我们常用的一些软件,比如QQ,微 ...
- (三十三)golang--面向对象之继承
继承可以解决代码复用: 实现:只需要在结构体中嵌套一个匿名结构体: 结构体可以使用匿名结构体中所有字段核方法:无论是大写还是小写: 可以简化访问匿名结构体中的属性和方法: 当该结构体和匿名结构体有相同 ...