python中的逻辑判断
文章目录
- if条件语句
- if单独使用
- if~else合用
- if ~ elif~else连用:多条件判断
- if的嵌套使用
- 逻辑运算符
- and 与逻辑
- or 或逻辑
- not 非逻辑
- for循环语句
- for的嵌套使用
- break continue exit的区别
- while循环语句
- while的嵌套使用
if条件语句
基本书写方法:
if单独使用
if condition: ##条件判断success thing ##条件成立时做的事情... ## 可以多个任务
注意:条件语句后必须加冒号!
演示1:当年龄大于18岁时,输出success,否则不输出任何东西。 在判断结束后输出- - - - - - - - -
age = 15
if(int(age)>=18):print('success') ##if 语句影响if语句内的输出
print('-----------') ## 不影响语句外的输出
运行结果为:
如果第二个print和if语句内的print缩进一致,则if语句就会影响其输出:
age = 15
if(int(age)>=18):print('success')print('-----------')
运行结果:
可见,缩进量在python中还是非常重要的!
if~else合用
使用方法:
if 条件判断条件满足时做的事情
else 条件不满足时做的事情
演示2:
进行年龄判断,如果年龄大于等于18岁,输出success!否则输出failed!
age = 14
if age <= 18:print('Failed!')
else:print('Success!')
运行结果:
修改年龄为20,运行结果:
if ~ elif~else连用:多条件判断
if 条件1:条件1满足时需要做的事情
elif 条件2:条件2满足时需要做的事情
elif 条件3:条件3满足时需要做的事情......
else :所有条件都不满足时需要做的事情。
注意:if可单独使用,但是else 和 elif不能单独使用!
演示:
输入的数在0~10时,输出0,输入的数在10 ~ 20时,输出1;
输入的数在20 ~ 30时,输出2,输入的数在30 ~ 40 时,输出3.否则输出:nonum
num=int(input('num='))
if num >= 1 and num < 10:print('0')
elif num >= 10 and num < 20:print('1')
elif num >= 20 and num < 30:print('2')
elif num >= 30 and num < 40:print('3')
else:print('no num')
运行结果:
if的嵌套使用
if 条件1:if 条件2:条件1满足的基础上条件2满足需要做的事情else:条件1满足,条件2不满足需要做的事情
else:条件1不满足时需要做的事情
演示:
学校是学生生活和学习的地方,在疫情期间,学生只能进入校园。学生进入图书馆学习时,必须刷学生卡方能进入图书馆,否则不能进入图书馆:
student = 'yes'
card = 'yes'
if student == 'yes':if card == 'yes':print('you can enter the library')else:print('you can not enter the library')
else:print('you can not enter school')
运行结果:
当student=yes,card=no 时,运行结果:
当student=no时,运行结果:
演示2:
随机数的输出: 在python中,要使用随机数,首先要导入随机数模块(类似于工具包)。导入模块后,可以直接在模块名称后敲一个.然后tab键,会提示该模块中可以使用的东西。
random.randint(a,b)为返回[a,b]之间的整数,包含a和b
例如:
random.randomint(12,20)生成的随机数n:12<=n<=20
random.randomint(20,20):结果永远时20
random.randomint(20,12):结果报错,下限必须小于上限。
题目:
首先导入随机数工具包:
注意:在导入工具包的时候,应该导入的语句,放在文件的顶部。这样方便下放的代码,在任何需要的时候可以使用工具包中的工具。
import random ##导入随机数工具包player=int(input('player:'))
computer=random.randint(1,3)
print('computer:%d'%(computer))if((player==1 and computer==2)or(player==2 and computer==3)or(player==3 and computer==1) ):print('player win!') ##玩家赢的情况
elif(player == computer):print('no winner') ##平局的情况
else:print('computer win!') ## 玩家输的情况
运行结果:
逻辑运算符
and 与逻辑
条件1 and 条件2
当条件1和条件2同时满足时,返回值为True
当条件1或者条件2有一个不满足,或都不满足时,返回值为False
演示:
Math成绩和English成绩同时大于85分,输出pass,否则输出failed
Math = 83
English = 88
if Math > 85 and English > 85:print('pass')else:print('failed')
运行结果:
修改成绩都为90,运行结果:
or 或逻辑
条件1 or 条件2
当条件1或者条件2有一个满足,返回值为True
当条件1和条件2都不满足时,返回值为False
演示:
Math成绩和English成绩有一门大于85分,输出pass,否则输出failed
Math = 75
English = 90
if Math > 85 or English > 85:print('pass')
else:print('failed')
运行结果:
系应该成绩都为70,运行结果:
not 非逻辑
演示:
判断用户是否输入,若没有输入,则输出:Please check your input。否则输出:welcome
方法一:
value = input('value:')
if value == '':print('Please check your input')
else:print('welcome')
运行:
当value为空:
当value不为空:
方法二:
使用非逻辑进行判断:
value = input('value:')
if not value:print('Please check your input')
else:print('welcome')
运行:
当value为空时:
当value不为空时:
for循环语句
for i in range(范围)i满足时需要做的事情
range()为数组:
例如:
range(5) 值为0~4
range(2,10)值为2~9
range(1,101,2)值为0到100的所有奇数
range(2,101,2)值为0到100的所有偶数
range()的值包含下限不包含上限
演示1:
计算0~100所有数的和:
sum = 0 ##定义加法器
for i in range(0,101):sum+=i
print(sum)
运行结果:
演示2:
计算0~100间偶数的和
sum = 0
for i in range(2,101,2):sum+=i
print(sum)
运行结果:
演示3:
计算0~100所有奇数的和
sum = 0
for i in range(1,101,2):sum+=i
print(sum)
运行结果:
演示4:
要求用户输入一个数,求这个数的阶乘
Num = int(input('Num:'))
mul = 1
for i in range(1,Num):Num *= i
print(Num)
运行结果:
for的嵌套使用
演示5:
count = 0
for i in range(1,5):for j in range(1,5):for k in range(1,5):if (i != j)and(j != k)and(i != k):print(i*100+j*10+k)count += 1
print('Quantity = %d'%count)
运行结果:
演示6:
用户登录程序要求:
1.输入用户名和密码;
2.判断用户名和密码是否正确?(name=‘root’,passwod=‘’westos);
3.为防止暴力破解,登录仅有3次机会,超过三次输入错误,报错提示;
print('you only have three chances to login!')
for i in range(3):name = input('name:')password = input('password:')if name == 'root' and password == 'westos':print('login success!')breakelse:print('name or password error!,%d chances left'%(2 - i))
else:print('Three opportunities have been exhausted,please try again tomorrow!')
运行结果:
演示7:
模拟简单linux命令行:
import os ##导入os模块,可获取主机信息
#cmd = print('[root@workstation Desktop] ')
for i in range(1000):cmd = input('[root@workstation Desktop]# ')if cmd:if cmd == 'q':print('logout success')breakelse:print('run %s'%(cmd)) os.system(cmd) ##将输入的cmd传入os模块else:continue
运行结果:
不输入任何东西,直接回车:
输入一条简单命令,回车:
输入q退出:
演示8:
break continue exit的区别
break:跳出整个循环,不会再循环后边的内容。
continue:跳出本次循环,continue后面代码不再执行,但循环依然继续。
exit():结束程序的运行。
演示:
break:
for i in range(10):if i == 5:breakprint(westos)print(i)
print('hello world')
运行结果:
可以看到,使用break,在满足条件i=5时跳出循环,执行此循环外的语句。
continue:
for i in range(10):if i == 5:continueprint(westos)print(i)
print('hello world')
运行结果:
可以看到,使用continue可以在满足条件i=5的时候跳出循环,但是后边的循环依旧执行。
exit():
for i in range(10):if i == 5:exit()print(westos)print(i)
print('hello world')
运行结果:
可以看到,使用exit()在满足条件i=5时直接结束程序的运行。
while循环语句
whlie 条件条件满足时,做的事情1条件满足时,做的事情2
演示1:
打印5次hello world:
i = 1
while i<= 5:print('hello world')i += 1
运行结果:
演示2:
死循环:
while True:print('hello world')
演示3:
计算:0~100所有数字的累加求和:
python中的计数方法:常见的计数方法有两种,可以分为
自然技术法:(从1开始)----更符合人类习惯
程序计数法:(从0开始)-----几乎所有的程序语言都选择从0开始计数。
因此,应养成习惯从0计数开始。
i = 0
result = 0
while i <= 100:result += ii += 1
print(result))
运行结果:
演示4:
计算:0~100所有偶数的累加求和:
i = 0
result = 0
while i <= 100:result += ii += 2
print(result)
运行结果:
演示5:
用户登录程序要求:
1.输入用户名和密码;
2.判断用户名和密码是否正确?(name=‘root’,passwod=‘’westos);
3.为防止暴力破解,登录仅有3次机会,超过三次输入错误,报错提示;
print('you only have three chances!')
i=0
while i<=2:name = input('name:')password = input('password:')if name == 'root' and password == 'westos':print('login success!')breakelse:print('name or password error!')print('%s chances left' %(2-i))i += 1
else:print('Three opportunities have been exhausted,please try tomorrow!')
运行结果:
输入正确的name 和 password:
输入错误的name和password:
while的嵌套使用
演示6:
要求输出如下:
row = 1
while row <= 5:col = 1while col <= row:print('*',end='') ## 不换行输出col += 1print('') ##换行row += 1
运行结果:
演示7:
要求输出如下:
row = 1
while row <= 5:col = 5while col >= row:print('*',end='')col -= 1print('')row += 1
运行结果:
演示8:
import random
i=1
while i <= 5:user = int(input('user:'))computer = random.randint(1,100)print('computer:%d'%computer)if user < computer:print('too small')i += 1elif user > computer:print('too big')i += 1else:print('恭喜')break
运行结果:
python中的逻辑判断相关推荐
- python中的逻辑判断与循环
目录 1.顺序语句 2.条件语句 (1)if (2)if-else (3)if-elif-else 练习: 1.输入一个整数,判定是否是奇数 2.输入一个整数,判断是正数还是负数 3.判定年份是否是闰 ...
- python中逻辑量有什么_Python:从逻辑判断开始谈循环
本期分享笔记:Python学习笔记 分享内容:Python逻辑判断&循环 1.逻辑判断--True&False 要实现条件结构或循环结构,那么逻辑判断必不可或缺.既然如此,那我们来看看 ...
- 在python中逻辑量有_(五)我的魔法竟有了一丝逻辑
学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 一.了解魔法世界中的逻辑 ...
- 在 Python 中妙用短路机制
作者 | 费弗里 来源 | Python大数据分析 本期我们即将学习的是:Python中短路机制的妙用. 不同于物理学中的「短路」(Short circuit)那般危险,Python中的短路机制非常有 ...
- python中的数字类型格式与运算_Python中的数字类型格式与运算
出品 Python中的数字(Digital)与数学中的数字相同,可以通过各种各样的运算符实现各种计算,在Python中数字类型的数据格式分为以下几种: 1.整数型(integer) 2.浮点数(flo ...
- python编程运算符号-Python中的逻辑运算符
参考资料:http://blog.csdn.net/sasoritattoo/article/details/12451359 一.逻辑判断词not 1.在python中not是逻辑判断词,用于布尔型 ...
- python常见的数值运算符_第18 p,Python中各种常用的运算符,特别是增量运算符...
原标题:第18 p,Python中各种常用的运算符,特别是增量运算符 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第18篇文章,第二阶段的课程:Python基础知识:Pytho ...
- 6个实例,8段代码,详解Python中的for循环
作者:奥斯瓦尔德·坎佩萨托(Oswald Campesato) 来源:大数据DT(ID:hzdashuju) Python 支持for循环,它的语法与其他语言(如JavaScript 或Java)稍有 ...
- python中if控制语句_Python 极简教程(十二)逻辑控制语句 if else
计算机软件之所以能够对不同的情况进行不同的处理,就是我们在编码的时候,通过逻辑控制语句,告诉软件在不同的情况下应该做什么处理. 比如我们在登录的时候,那么当你输入正确的账号密码和错误的账号密码,完全是 ...
最新文章
- P1515 旅行(简单搜索)
- 研究Xposed相关二:如何root android模拟器(android4.3.1)
- boost::filesystem模块和boost::timer混合的测试程序
- 深度学习、机器学习与NLP的前世今生
- HTML animate()动画更改多个元素背景颜色但不同时生效问题
- 【需求工程】需求工程
- 董明珠“不让加班了”!格力官宣:实行双休,取消加班
- nginx不缓存html页面耗性能,加速nginx性能: 开启gzip和缓存
- wps中下划线怎么也去不掉_黑头究竟怎么形成的?为什么总是去不掉?那是因为你用错方法...
- Go语言utf8汉字字符串截取处理小记
- 辐射4 Hello World
- 融360赴美IPO:大数据能否助其吸引海外投资者青睐?
- 手机开热点免流教程(ROOT版)
- 图片切换上一页 下一页
- 别让用户发呆——设计中的防呆策略【转】
- iOS开发面试—四面字节iOS客户端抖音隐私合规团队
- 美容院没有顾客怎么办
- 同一个路由重复点击报错的解决方法
- (资讯)华为员工利用Bug越权访问机密卖给第三方,获利1.6万元,被判有期徒刑一年
- 一般计算机电源都在什么服务,1u工控服务器电源与普通电脑电源能互用吗
热门文章
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jinfo、jconsole使用详解
- Socket网络编程(代码实现)
- DBCP2中MaxActive()函数变为MaxTotal()
- 下载速率提升40% ,《斗罗大陆:魂师对决》是如何做到的?
- Gmail 2.8GB免费邮箱开放注册
- 是什么让Foursquare颇具钱景?
- virsh 命令详解
- virsh 关机_解决virsh 无法重启和关闭KVM虚拟机
- java的集合和数组_Java集合和数组的区别
- Vue信息聊天框首次进入有图片加载滚动到最底部