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("刀长:
"))
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))
>>1到100的和为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("输入数字
"))
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