python中的逻辑判断

2023-11-08

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  条件1if  条件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(1220)生成的随机数n:12<=n<=20
random.randomint(20,20):结果永远时20
random.randomint(2012):结果报错,下限必须小于上限。

题目:
在这里插入图片描述

首先导入随机数工具包:
注意:在导入工具包的时候,应该导入的语句,放在文件的顶部。这样方便下放的代码,在任何需要的时候可以使用工具包中的工具。

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!')
        break
    else:
        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')
            break
        else:
            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:
        break
        print(westos)
    print(i)
print('hello world')

运行结果:
在这里插入图片描述
可以看到,使用break,在满足条件i=5时跳出循环,执行此循环外的语句。

continue:

for i in range(10):
    if i == 5:
        continue
        print(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 += i
    i += 1
print(result))

运行结果:
在这里插入图片描述
演示4:
计算:0~100所有偶数的累加求和:

i = 0
result = 0
while i <= 100:
    result += i
    i += 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!')
        break
    else:
        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 = 1
    while col <= row:
        print('*',end='') ## 不换行输出
        col += 1
    print('')   ##换行
    row += 1

运行结果:
在这里插入图片描述
演示7:
要求输出如下:
在这里插入图片描述

row = 1
while row <= 5:
    col = 5
    while col >= row:
        print('*',end='')
        col -= 1
    print('')
    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 += 1
    elif   user > computer:
        print('too big')
        i += 1
    else:
        print('恭喜')
        break

运行结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中的逻辑判断 的相关文章

随机推荐