Python基础之 2. 判断语句和循环语句

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. 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3);
  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. 计算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. 计算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在嵌套循环中,只对最近的一层循环起作用

9. 总结

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老五

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值