1. 判断语句
1. 判断语句介绍:
如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这就是所谓的判断。
不仅生活中有,在软件开发中"判断"功能也经常会用到。
2. if判断语句
1. 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个空格
3. if-else
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
1. 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. if…elif…else…语句格式
想一想:
- if能完成当xxx时做事情
- if-else能完成当xxx时做事情1,否则做事情2
- 如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?
答:elif
1. 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')
2. 注意点
可以和else一起使用
if 性别为男性:
输出男性的体重
...
elif 性别为女性:
输出女性的体重
...
else:
第三种性别的体重
...
说明:
- 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
- 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
- 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
- elif必须和if一起使用,否则出错
- else 一般用在最后,即所有条件都不满足时使用
3. if 实现三目运算操作
a if a > b else b
如果 a > b的条件成立,三目运算的结果是a,否则就是b
练习题:
# 求a和b两个数字中的较大值.
a = 10
b = 20
# 使用三目运算符求较大值
max = a if a > b else b
print("较大值为:%d" % max)
5. if嵌套
1. if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
说明
- 外层的if判断,也可以是if-else
- 内层的if判断,也可以是if-else
- 根据实际开发的情况,进行选择
2. if嵌套的应用
demo:
ticket = 1 # 用1代表有车票,0代表没有车票
knife_length = 9 # 刀子的长度,单位为cm
if ticket == 1:
print("有车票,可以进站")
if knife_length < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了")
结果1:ticket = 1;knife_length = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:ticket = 1;knife_length = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:ticket = 0;knife_length = 9
没有车票,不能进站
亲爱的,那就下次见了
结果4:ticket = 0;knife_length = 20
没有车票,不能进站
亲爱的,那就下次见了
6. 猜拳游戏
1. 需求
- 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3);
- 电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能;
- ⽐较胜负。
2. 参考代码
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,不要走,洗洗手接着来,决战到天亮')
随机数的处理
在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数
random.randint(a, b)
,返回 [a, b] 之间的整数,包含 a 和 b
7. 循环语句
1. 介绍
while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成。
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环。
2. while循环
(1)格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
(2)练习题:循环打印5次
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
(3)死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!
(4)while循环应用
- 计算1~100的累积和(包含1和100)
参考代码如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累积和为:%d" % sum)
- 计算1~100之间偶数的累积和(包含1和100)
参考代码如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累积和为:%d" % sum)
(5)while嵌套
1.格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
2.while嵌套应用
要求:打印如下图形:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= 5:
print("*", end=" ")
j += 1
print()
i += 1
3.练习题:打印三角形
要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print()
i += 1
3. for循环
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
(1)for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
demo1
name = 'hello'
for x in name:
print(x)
运行结果如下:
h
e
l
l
o
demo2
for x in name:
print(x)
if x == 'l':
print("Hello world!")
运行结果如下:
h
e
l
Hello world!
l
Hello world!
o
demo3
# range(5)表示可以循环5次,从0开始,到4
for i in range(5):
print(i)
'''
效果等同于 while 循环的:
i = 0
while i < 5:
print(i)
i += 1
'''
运行结果如下:
0
1
2
3
4
for循环打印while中的两个图像:
for i in range(5):
print('* ' * 5)
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
for i in range(1, 6):
print('* ' * i)
*
* *
* * *
* * * *
* * * * *
8. break和continue
1. break
(1)for循环带有break
示例如下:
name = 'hello'
for x in name:
print(x)
if x == 'l':
break
运行结果:
h
e
l
(2)while循环带有break
示例如下:
i = 0
while i < 10:
print(i)
if i == 3:
break
i = i + 1
运行结果:
0
1
2
3
小结:
- break的作用:立刻结束break所在的循环
2. continue
(1)for循环带有continue
示例如下:
name = 'world'
for x in name:
print('----')
if x == 'r':
continue
print(x)
运行结果:
----
w
----
o
----
----
l
----
d
(2)while循环带有continue
示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==3:
continue
print(i)
运行结果:
----
1
----
2
----
----
4
----
5
小结:
- continue的作用:用来结束本次循环,紧接着执行下一次的循环
3. 注意点
- break/continue只能用在循环中,除此以外不能单独使用
- break/continue在嵌套循环中,只对最近的一层循环起作用