如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断
1.if判断语句
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
- demo1:
age = 30
print "------if判断开始------"
if age>=18:
print "我已经成年了"
print "------if判断结束------"
运行结果:
------if判断开始------
我已经成年了
------if判断结束------
- demo2:
age = 16
print "------if判断开始------"
if age>=18:
print "我已经成年了"
print "------if判断结束------"
运行结果:
------if判断开始------
------if判断结束------
小总结:
- 以上2个demo仅仅是age变量的值不一样,结果却不同;
- 能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码
注意:
- 代码的缩进为一个tab键,或者4个空格
2.比较、关系运算符
A.比较(即关系)运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3则(a == b) 为 true. |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a != b) 为 true. |
<> | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符 |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a > b) 为 true. |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a < b) 为 false. |
= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a >= b) 为 true. |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a <= b) 为 true. |
B.逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
3.if-else
在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,就会用到else
A.if-else的使用格式
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...
demo1
chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print "有车票,可以上火车"
print "终于可以见到Ta了,美滋滋~~~"
else:
print "没有车票,不能上车"
print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上课
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
4.elif
A.elif的功能
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
- 当xxx1满足时,执行事情1,然后整个if结束
- 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
- 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
score = 77
if score>=90 and score<=100:
print '本次考试,等级为A'
elif score>=80 and score<90:
print '本次考试,等级为B'
elif score>=70 and score<80:
print '本次考试,等级为C'
elif score>=60 and score<70:
print '本次考试,等级为D'
elif score>=0 and score<60:
print '本次考试,等级为E'
B.注意点
可以和else一起使用
if 性别为男性: 输出男性的特征 ... elif 性别为女性: 输出女性的特征 ... else: 第三种性别的特征 ...
说明:
- 当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
- 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
- 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
elif必须和if一起使用,否则出错
5.if嵌套
A.if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
...(省略)...
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
...(省略)...
- 说明
- 外层的if判断,也可以是if-else
- 内层的if判断,也可以是if-else
- 根据实际开发的情况,进行选择
B.if嵌套的应用
demo:
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print "有车票,可以进站"
if daoLenght < 10:
print "通过安检"
print "终于可以见到Ta了,美滋滋~~~"
else:
print "没有通过安检"
print "刀子的长度超过规定,等待警察处理..."
else:
print "没有车票,不能进站"
print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"
结果1:chePiao = 1;daoLenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:chePiao = 1;daoLenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chePiao = 0;daoLenght = 9
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
结果4:chePiao = 0;daoLenght = 20
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
C.练习
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
程序如下:
#coding=utf-8
#情节描述:上公交车,并且可以有座位坐下
#要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
money = 10
seatCount = 0
if money>2:
print("可以上车")
if(seatCount>0):
print("可以坐下")
else:
print("不可以坐下")
else:
print("不可以上车")
6.应用:猜拳游戏
#coding=utf-8
#猜拳游戏
import random
player = raw_input("请出拳 石头0,剪刀1,布2:")
player = int(player)
computer = random.randint(0,2)
if ((player==0) and (computer==1))or((player==1) and (computer==2))or((player==2) and (computer==0)):
print("you win")
elif player==computer:
print("====")
else:
print("you lose")
运行结果:
请出拳 石头0,剪刀1,布2:1
you lose
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
7.while循环
A.while循环的格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
demo
i = 0
while i<5:
print "当前是第%d次执行循环"%(i+1)
print "i=%d"%i
i+=1
结果:
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
8.while循环嵌套
A.while嵌套的格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
B.while嵌套应用(一)
要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
参考代码:
i = 1
while i<=5:
j = 1
while j<=i:
print "* ",
j+=1
print ""
i+=1
C.while嵌套应用(二)
使用while,完成以下图形的输出
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
参考代码:
#coding=utf-8
i=1
while i<=5:
j=1
while j<=i:
print("* "),
j+=1
print("")
i+=1
k=1
while k<=4:
a=4
while a>=k:
print("* "),
a-=1
print("")
k+=1
9.break和continue
A.break
普通的循环示例如下:
for i in range(10): print '。。。。' print i
运行结果:
。。。。 0 。。。。 1 。。。。 2 。。。。 3 。。。。 4 。。。。 5 。。。。 6 。。。。 7 。。。。 8 。。。。 9
带有break的循环示例如下:
for i in range(10): print '。。。。' print(i) if i == 3: break
运行结果:
。。。。 0 。。。。 1 。。。。 2 。。。。 3
小总结:
- break的作用:用来结束整个循环
B.continue
带有continue的循环示例如下:
for i in range(10): print '。。。。' if i==3: continue print i
运行结果:
。。。。 0 。。。。 1 。。。。 2 。。。。 。。。。 4 。。。。 5 。。。。 6 。。。。 7 。。。。 8 。。。。 9
小总结:
- continue的作用:用来结束本次循环,紧接着执行下一次的循环
C.注意点
- break/continue只能用在循环中,除此以外不能单独使用
- break/continue在嵌套循环中,只对最近的一层循环起作用