Python之语句判断

Python2课

1.逻辑运算

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 描述 实例
and a and b 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

优先级 not>and>or
短路逻辑: a and b and c and d 如果a为False
则后面所有的and 均不再执行,直接返回a的值。 a or b or c or d
如果a为True 则后面所有的or 均不在执行。直接返回a的值。

x = True
y = 12
r = x and y
print(r)
>>True
print(True and False or not False and False)  
# 短路逻辑: a and b and c and d  如果a为False 
# 则后面所有的and 均不再执行,直接返回a的值。 a or b or c or d 
# 如果a为True 则后面所有的or 均不在执行。直接返回a的值。
>>True

2.逻辑判断

fi语句

格式:

if 布尔条件 :

num=int(input('请输入你成绩:'))
if 85 <= num < 100:
    print('优秀')

if 75 <= num < 85:
    print('良好')

if 60 <= num < 75:
    print('及格')

if num<60:
    print('重修')
#若是输入75
良好

if …esle: 语句

格式 :
if 布尔条件 :
为真执行
else:
否则执行

判断句:

has_ticket=True
knife_length=int(input("刀长:\n"))
if has_ticket==True:
    if knife_length<20:
        print('刀长%s'%knife_length+'CM')
        print("让上火车")
    else:
        print('刀长%s' % knife_length + 'CM')
        print("不让上")
#嵌套判断:首先判断是否有票,再判断刀长是否超过20cm

while 语句

格式:
whie 布尔条件:
控制语句

#打印10边凉凉
while count<10:
    print("凉凉")
    count +=1
#100以内的数的和
n = 0
num = 0
while num<100:
    num += 1
    n += num
print("1到%d的和为%d" %(num,n))

>>1100的和为5050
#打印*组成三角形
count1 = 1
while count1<6:
    print("*"*count1)
    count1 +=1
>>   
*
**
***
****
*****
#50以内能被3和7整除的数
i = 50
while True:
    i = i - 1
    if i%3==0:
        print(i)
    elif i%7==0:
        print(i)
    elif i<20:
        break
#简单的表单验证:
while True:
    name = input("用户名")
    psd = input("密码")
    if name and psd != "":
        if name !='zs' and psd !=123:
            print ("用户名和密码错误")
        else:
            print ('登录成功')
        break
    else:
        print ('用户名和密码为空')
#九九乘法表
	#for循环
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d" % (i, j, i * j), end=" ")
    print()
    
	#while循环
i = 0
while i<9:
    i += 1
    j=0
    while j<i:
        j += 1
        print("%d*%d=%d"%(i,j,i*j),end=" ")
    print()
>>
1*1=1 
2*1=2 2*2=4 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

在这里插入图片描述

import random as sui
cai = sui.randint(1,100)
main = 1
max = 100
print(cai)
while True:
    print('范围({},{})'.format(main, max))
    inp = int(input("输入数字\n"))
    if inp>cai:
        print("大了")
        max = inp-1
    elif inp<cai:
        print("小了")
        main = inp+1
    else:
        print("爆炸")
        break
    cpu = int(sui.randint(main, max))
    print("====下一轮====")
    print('机器猜:', cpu)
    if cpu > cai:
        print("大了")
        max = cpu - 1
    elif cpu < cai:
        print("小了")
        main = cpu + 1
    else:
        print("爆炸")
        break

end

posted @ 2019-12-04 23:42  afly_8  阅读(54)  评论(0编辑  收藏  举报