文章目录

  • 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中的逻辑判断相关推荐

  1. python中的逻辑判断与循环

    目录 1.顺序语句 2.条件语句 (1)if (2)if-else (3)if-elif-else 练习: 1.输入一个整数,判定是否是奇数 2.输入一个整数,判断是正数还是负数 3.判定年份是否是闰 ...

  2. python中逻辑量有什么_Python:从逻辑判断开始谈循环

    本期分享笔记:Python学习笔记 分享内容:Python逻辑判断&循环 1.逻辑判断--True&False 要实现条件结构或循环结构,那么逻辑判断必不可或缺.既然如此,那我们来看看 ...

  3. 在python中逻辑量有_(五)我的魔法竟有了一丝逻辑

    学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 一.了解魔法世界中的逻辑 ...

  4. 在 Python 中妙用短路机制

    作者 | 费弗里 来源 | Python大数据分析 本期我们即将学习的是:Python中短路机制的妙用. 不同于物理学中的「短路」(Short circuit)那般危险,Python中的短路机制非常有 ...

  5. python中的数字类型格式与运算_Python中的数字类型格式与运算

    出品 Python中的数字(Digital)与数学中的数字相同,可以通过各种各样的运算符实现各种计算,在Python中数字类型的数据格式分为以下几种: 1.整数型(integer) 2.浮点数(flo ...

  6. python编程运算符号-Python中的逻辑运算符

    参考资料:http://blog.csdn.net/sasoritattoo/article/details/12451359 一.逻辑判断词not 1.在python中not是逻辑判断词,用于布尔型 ...

  7. python常见的数值运算符_第18 p,Python中各种常用的运算符,特别是增量运算符...

    原标题:第18 p,Python中各种常用的运算符,特别是增量运算符 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第18篇文章,第二阶段的课程:Python基础知识:Pytho ...

  8. 6个实例,8段代码,详解Python中的for循环

    作者:奥斯瓦尔德·坎佩萨托(Oswald Campesato) 来源:大数据DT(ID:hzdashuju) Python 支持for循环,它的语法与其他语言(如JavaScript 或Java)稍有 ...

  9. python中if控制语句_Python 极简教程(十二)逻辑控制语句 if else

    计算机软件之所以能够对不同的情况进行不同的处理,就是我们在编码的时候,通过逻辑控制语句,告诉软件在不同的情况下应该做什么处理. 比如我们在登录的时候,那么当你输入正确的账号密码和错误的账号密码,完全是 ...

最新文章

  1. P1515 旅行(简单搜索)
  2. 研究Xposed相关二:如何root android模拟器(android4.3.1)
  3. boost::filesystem模块和boost::timer混合的测试程序
  4. 深度学习、机器学习与NLP的前世今生
  5. HTML animate()动画更改多个元素背景颜色但不同时生效问题
  6. 【需求工程】需求工程
  7. 董明珠“不让加班了”!格力官宣:实行双休,取消加班
  8. nginx不缓存html页面耗性能,加速nginx性能: 开启gzip和缓存
  9. wps中下划线怎么也去不掉_黑头究竟怎么形成的?为什么总是去不掉?那是因为你用错方法...
  10. Go语言utf8汉字字符串截取处理小记
  11. 辐射4 Hello World
  12. 融360赴美IPO:大数据能否助其吸引海外投资者青睐?
  13. 手机开热点免流教程(ROOT版)
  14. 图片切换上一页 下一页
  15. 别让用户发呆——设计中的防呆策略【转】
  16. iOS开发面试—四面字节iOS客户端抖音隐私合规团队
  17. 美容院没有顾客怎么办
  18. 同一个路由重复点击报错的解决方法
  19. (资讯)华为员工利用Bug越权访问机密卖给第三方,获利1.6万元,被判有期徒刑一年
  20. 一般计算机电源都在什么服务,1u工控服务器电源与普通电脑电源能互用吗

热门文章

  1. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jinfo、jconsole使用详解
  2. Socket网络编程(代码实现)
  3. DBCP2中MaxActive()函数变为MaxTotal()
  4. 下载速率提升40% ,《斗罗大陆:魂师对决》是如何做到的?
  5. Gmail 2.8GB免费邮箱开放注册
  6. 是什么让Foursquare颇具钱景?
  7. virsh 命令详解
  8. virsh 关机_解决virsh 无法重启和关闭KVM虚拟机
  9. java的集合和数组_Java集合和数组的区别
  10. Vue信息聊天框首次进入有图片加载滚动到最底部