Python之条件判断和循环语句相关知识
1、if判断语句
1.1 if语句的基本格式
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要执行的代码
示例
age = 18
if age >= 18:
print("你已经是一个成年人了")
运行结果:
1.2 if-else的使用格式
在使用 if 的时候,它只能做到满足条件时要做的事情,当需要在不满足条件的时候做某些事就可以使用 if-else
if-else 的使用格式如下:
if 要判断的条件:
条件成立时,要执行的代码
else:
不满足条件时要执行的代码
示例
money = 0 # 用1代表有钱,0代表没钱
if money == 1:
print("我口袋里有钱,可以买糖咯")
print("心情美滋滋")
else:
print("没钱,买不到糖了呜呜呜")
运行结果:
1.3 if…elif…else 语句格式
elif 的使用格式如下:
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
说明:
当 条件1 满足时,执行代码块1,然后整个 if 结束
当 条件1 不满足时,那么判断 条件2 ,如果 条件2 满足,则执行代码块2,然后整个 if 结束
当 条件1 不满足,条件2 也不满足时,如果 条件3 满足,则执行代码块3,然后整个 if 结束
示例
score = 86
if score >= 90 and score <= 100:
print("考试成绩为优秀")
elif score >= 75 and score < 90:
print("考试成绩为良好")
elif score >= 60 and score < 75:
print("考试成绩为及格")
elif score >= 0 and score < 60:
print("考试成绩为不及格")
运行结果:
注意:可以和 else 一起使用
示例
score = eval(input("请输入你的考试成绩:")) # input函数返回的是字符串类型所以要转换,否则后面比大小会报错
if score > 100:
print("请输入正确的考试成绩")
elif score >= 85:
print("成绩等级为:A")
elif score >= 75:
print("成绩等级为:B")
elif score >= 60:
print("成绩等级为:C")
else:
print("成绩不合格")
运行结果:
1.4 if 嵌套
当某个判断是在另外一个判断成立的基础上进行的,这样的情况就要使用到 if 嵌套
if 嵌套的格式如下:
if 条件1:
满足条件1时要执行的代码
if 条件2:
满足条件2时要执行的代码
说明:
外层和内层的 if 判断,都可以是if-else
示例
age = 19
netBar = 1 #用1代表网吧在营业,0代表网吧关门了
if netBar==1:
print("网吧在营业,可以进去")
if age>=18:
print("你成年了,可以上网")
else:
print("你是未成年,请出去")
else:
print("网吧关门了")
运行结果:
2、循环
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
2.1 while循环
while 循环的格式如下:
while 条件:
条件满足时,执行的代码
示例1
# 循环打印5次
i = 0
while i<5:
print("当前是第{}次打印".format(i+1))
print("i = {}".format(i))
i+=1
运行结果:
示例2
# 计算1~100的累加和(包含1和100)
i = 1
sum = 0
while i<=100:
sum+=i
i+=1
print("1~100的累加和为{}".format(sum))
运行结果:
示例3
# 计算1~100之间所有偶数的累加和(包含1和100)
i = 1
sum = 0
while i<=100:
if i%2==0:
sum+=i
i+=1
print("1~100之间所有偶数的累加和为{}".format(sum))
运行结果:
2.2 for循环
像while循环一样,for也可以完成循环的功能,Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for循环的格式如下:
for 临时变量 in 列表或者字符串等可迭代对象:
条件满足时执行的代码
示例1
name = "Cindy"
for i in name:
print(i)
if i=='n':
print("hello")
运行结果:
示例2
for i in range(5): # range函数
print(i)
# 效果等同于while循环的:
# i = 0
# while i<5:
# print(i)
# i+=1
运行结果:
range( )函数的补充:
range( )函数可以创建一个整数列表,一般用在 for 循环中。其返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
语法如下:
range(start, stop, step)
参数含义:
start:可选参数。计数开始的位置。默认是从 0 开始。如 range(3) 等价于 range(0, 3)
stop:可选参数。计数结束的位置,但不包括 stop。如 range(0, 3) 是列表 [0, 1, 2] 没有3
step:可选参数。步长,默认为1。如 range(0, 3) 等价于 range(0, 3, 1)
示例
# 创建 0 到 3 的数字序列,并打印序列中的每个项目
for i in range(4):
print(i)
运行结果:
2.3 break和continue
break 的作用是:立即结束退出break所在的循环
continue 的作用是:用来跳过当前循环,紧接着执行下一次的循环
说明:break/continue 只能用在循环中,除此以外不能单独使用
补充:
Python中,while循环和for循环一般是单独使用,但也都可以搭配着else来使用,else中的语句会在循环正常执行完(即循环不是通过break跳出而中断的)的情况下执行
示例1
name = "Sunny"
for i in name:
print("===============")
if i=='n':
break
print(i)
else:
print("---------------")
运行结果:
示例2
name = "Sunny"
for i in name:
print("===============")
if i=='n':
continue
print(i)
else:
print("---------------")
运行结果:
示例3
i = 0
while i<5:
print("===============")
if i==3:
break
print(i)
i += 1
else:
print("---------------")
运行结果:
示例4
i = 0
while i<5:
i += 1
print("===============")
if i==3:
continue
print(i)
else:
print("---------------")
运行结果: