day_05 运算符 if和while的使用
运算符:
1)算术运算符
+ - * / %(取余) //(地板除,取整)**(幂运算) ,返回一个值
2)比较运算符
3) > >= < <= ==(比较值是否相等) !=(比较值是否不相等) ,返回一个布尔值
4) 赋值运算符
= += -= *= /= **=
5)逻辑运算符(把多个条件同时叠加)
and or not ,加括号优先级最高
6)身份运算符(id)
x= 257
y = x
z= 257 print(id(x) == (id(y))) # True
print(x is y) # is比较的是内存地址 True
print(x is not y) # is not判断是否不等于
print(not x is y) #False
print(id(x) == id(z)) #False
print(x is z) #False
7) 位运算符
60 13 十进制 0,1,2,3,4,5,6,7,8,9,10
0,1,2,3,4,5,6,7,8,9,逢十进一位,10,11,12,13,...19,20...90,91,92,..99,100
0和1 二进制 0,1,逢二进一位,10,11,100,101,111,1000 0 # 0000 0000 --》0
1 # 0000 0001 --》 1
10 # 0000 0010 --》 2
11 # 0000 0011 --》 3
100 # 0000 0100 --》 4
101 --》 5
110 --> 6
111 --> 7
0100 0011 -->
方法一,计算器:67
方法二:手工计算
9892 == 2*10**0 + 9*10**1 + 8*10**2 + 9*10**3
print(2*10**0 + 9*10**1 + 8*10**2 + 9*10**3)
01000011 == 1*2**0 + 1*2**1 + 0 + 0 + 0 + 0 + 1*2**6 + 0
print(1*2**0 + 1*2**1 + 0 + 0 + 0 + 0 + 1*2**6 + 0) 8)成员运算符:判断元素是否在容器类元素里面(字符串)
class_student_lt = ['s1','s2','s3']
print('s1' in class_student_lt) # True
print('s1' not in class_student_lt) # False
print('s4' in class_student_lt) # False
s = 'nick'
print('n' in 'nick')
2. 流程控制之if判断
多分支结构1:
if 条件1:
code1 条件1成立执行code1
elif 条件2:
code2 条件1不成立条件2成立执行code2
elif 条件3:
code3 条件1和2不成立,条件3成立执行code3
elif可以有无限个。。。
coden
else:
code4 所有条件都不成立,执行code4
# elif事例
height=input('请输入你的身高》》》:').strip()
height=int(height)
if height>130:
print('全票')
elif height>70:
print('半票')
elif height>30:
print('可能你需要付费一点点!')
else:
print('免费')
多分支结构1:
if 条件1:
code1 条件1成立执行code1,再判断下面的if条件是否成立
if 条件2:
code2 条件2成立执行code2,再判断下面的if条件是否成立
if 条件3:
code3 条件3成立执行code3,再判断下面的if条件是否成立
if可以有无限个。。。
coden
else:
code4 所有条件都不成立,执行code4
# if 事例
height=input('请输入你的身高》》》:').strip()
height=int(height)
if height>130:
print('全票')
if height>70 and height<=130:
print('半票')
if height>30 and height<=70:
print('可能你需要付费一点点!')
else:
print('免费')
多个同一级别if和elif建立多分支结构的区别:
如果程序中判断事件过多,全部用if的话,会遍历整个程序,用elif程序运行时,只要if或后续某一个elif之一满足逻辑值为True,则程序执行完对应输出语句后会自动结束该轮if—elif,即不会再冗余地执行后续的elif或else,提高了程序的运行效率。
3.流程控制之while循环
break:结束当前层while循环,continue:跳出本次while循环,进入下一次循环
while 条件:# 条件成立运行代码,不成立结束while循环
代码 # 代码执行结束后会进入下一次循环(再一次判断条件)
# while+条件 count=0
t_age=18
while count<3:
# if count==3:
# print('不好意思,只有三次机会!')
# break
age=input('请输入你的年龄:')
age=int(age)
if age>t_age:
print('太大了')
elif age<t_age:
print('太小了')
else:
print('恭喜你猜对了!')
count += 1
# while + break count = 0
while 1:
if count == 100:
break # break终止循环
count += 1
print(count) print('bzr')
# while + continue 不打印50 count = 0
while 1:
if count == 100:
break # break终止循环
count += 1
if count == 50:
continue # continue跳出本次循环,不执行下面的代码
print(count) print('bzr')
# 打印1-100内偶数(不包括[22,46,68,98])的和
# 分解题目 count = 0
sum_count = 0
while True: if count == 100:
break count += 2
if count in [22, 46, 68, 98]:
continue
sum_count += count
print(sum_count)
# while + else 仅作了解(非用不可可以使用,不要和if。。else混了) count = 0
while count < 100:
count += 1
print(count)
else:
print('没有被break干掉我就能出来') #打印结果:除了1~100之外,没有break掉,else内print也能打印
# while + else
count=0
while True:
count+=1
print(count)
if count==100:
break
else: # 没有被break干掉就执行,被break终止了就不执行了
print('没有被break干掉我就能出来') # 可以判断while是否被break终止 # 打印结果: else 内的print不能打印,上面有break终止循环了。
# 猜年龄游戏 只有三次机会 count=0
t_age=18
while count<3:
age=input('请输入你的年龄:')
age=int(age)
if age>t_age:
print('太大了')
elif age<t_age:
print('太小了')
else:
print('恭喜你猜对了!')
count += 1
day_05 运算符 if和while的使用的更多相关文章
- shell运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...
- SQL Server-聚焦APPLY运算符(二十七)
前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...
- java中的移位运算符:<<,>>,>>>总结
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- .NET 基础 一步步 一幕幕[运算符、占位符、转义符]
运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...
- ECMASCript2015 提案 stage-3的对象展开运算符
看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...
- JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)
1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...
- JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)
1.3种原始表达式 1.直接量: 1.23 //数字直接量 “hello” //字符串直接量 ...
- LINQ to SQL语句(18)之运算符转换
运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...
随机推荐
- SQLServer 断开指定会话
方法1: SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo] ...
- 暴力破解-H3C路由器-MSR900
作者:zptxwd@gmail.com 最后修改日期2017年5月10日 转载请保留出处 声明,本文仅用于技术交流和学习,不得用于任何商业用途及违法行为. 所暴力破解的设备信息 华三路由器 ...
- DVWA、 DSVM 环境搭建简述
DVWA(http://www.dvwa.co.uk/)是一个本地的漏洞演示环境基于PHP和Mysql . 另外还有基于Python的DSVM部署起来也十分简单.(https://github.com ...
- [转帖]基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解
基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解 不明觉厉 只要是人做的东西 就会有bug 就会有安全问题 就看发现bug 或者是发现安全问题 有没有收益了 会用linux的都是比较熟 ...
- [转帖]linux学习问题总结
linux学习问题总结 https://www.cnblogs.com/chenfangzhi/p/10661946.html 学习作者的思路 目录 一.环境变量和普通变量的区别 二.rsyslog和 ...
- [BZOJ 1013] [JSOI2008]球形空间产生器
[BZOJ 1013] [JSOI2008]球形空间产生器 题面 给出一个n维球体上的n+1个点,求球心坐标 分析 设球心坐标为\((x_1,x_2,\dots x_n)\),由于一个球体上的所有点到 ...
- __next__()
def f1(n): m=n while True: m+=1 yield m a=f1(5) print(a.__next__()) 结果:6
- 15. AutoMapper 之映射继承(Mapping Inheritance)
https://www.jianshu.com/p/e4f05403bd13 映射继承(Mapping Inheritance) 映射继承有两个功能: 从基类或接口配置继承映射配置 运行时多态映射 继 ...
- 面试必备:GET和POST的用法和区别
版权声明一:本文为博主原创文章,转载请附上原文出处链接和本声明.版权声明二:本网站的所有作品会及时更新,欢迎大家阅读后发表评论,以利作品的完善.版权声明三:对不遵守本声明或其他违法.恶意使用本网内容者 ...
- qt table中字体倾斜
在itemdelegate,的paint事件中添加 QStyleOptionViewItem newOption(option); QTransform transfor ...