二、Python基础之条件判断和循环
一、条件判断
条件判断是程序实现自动化任务的基础,比如,当程序跟用户作交互时,程序可以根据用户输入的数据进行判断,从而执行不同的代码语句,在Python程序中,用 if 语句实现
>>> a = 10
>>> if a > 20 :
print("这是满足if条件语句块的内容")
print("不管if条件是否满足,都会执行")
else 当if 条件不满足(False)时会执行else所属的子语句块,如果if 后面的条件为True则跳过else执行后续语句
a = int(input("请输入你的体重:"))
if a >= 120:
print("你好重啊,要减肥了!")
else:
if a>=90 and a<120:
print("标准体重,请继续保持哦!")
else:
print("你太瘦了要多吃点啊!")
print("这句始终会执行")
请输入你的体重:120
你好重啊,要减肥了!
这句始终会执行
Python是根据缩进来判断代码块包含关系的,如果 if 条件是 True ,就执行if下缩进的子语句
elif 是 else if 的缩写,上面代码可以通过elif来简写
a = int(input("请输入你的体重:"))
if a >= 120:
print("你好重啊,要减肥了!")
elif a>=90 and a<120:
print("标准体重,请继续保持哦!")
else:
print("你太瘦了要多吃点啊!")
print("这句始终会执行")
请输入你的体重:120
你好重啊,要减肥了!
这句始终会执行
注:if 语句执行顺序是从上往下判断,在当判断是True时,会执行这个条件的子语句,并忽略掉剩余的elif 和 else
a = 50
if a>40:
print("第一个判断")
elif a>20:
print("第二个判断")
else:
print("第三个判断")
# 第一个判断
if 条件的简写
if a:
print("条件成立")
当变量a是非零数值,非空列表或字符串,就判断条件为True,否则为False
if 1:
print("条件成立")
else:
print("条件不成立")
# 条件成立
if []:
print("条件成立")
else:
print("条件不成立")
# 条件不成立
if "":
print("条件成立")
else:
print("条件不成立")
# 条件不成立
if 0:
print("条件成立")
else:
print("条件不成立")
# 条件不成立
二、循环
让程序重复不停的做一件或几件事情就需要用循环
for
names = ["Jie","Yuan","Tim","Jay"]
for name in names: # for name in names 就是循环把列表中每个元素代入变量name,然后执行for下面缩进的语句
print(name)
# Jie
# Yuan
# Tim
# Jay
上面就是通过for循环不断执行print(name)语句
例:计算 1+2+3+4+5+6+7+8+9 的和
sum = 0
for i in [1,2,3,4,5,6,7,8,9]:
sum = sum + i
print(sum)
range( ) 函数,返回的是一个可迭代对象,非列表类型
for i in range(0,5): # range(0,5)生成的序列是从0开始小于5的整数
print(i)
0
1
2
3
4
通过for遍历可迭代对象,通过 lis( ) 函数可转换为List
l1 = list(range(0,5)) # range(0,5)可简写成range(5)
print(l1)
# [0, 1, 2, 3, 4]
l2 = list(range(5))
print(l2)
# [0, 1, 2, 3, 4]
通过for循环把l1中元素添加到l2中
l1 = [1,2,3,4]
l2 = ['a','b','c']
for i in l1:
l2.append(i)
print (l2)
# ['a', 'b', 'c', 1, 2, 3, 4]
while循环
只要条件满足就会不断循环,条件不满足时退出循环
n = 10
while n>0:
print(n)
n -= 1 # n = n - 1
# 10,9,8,7,6,5,4,3,2,1
n = 10
while n>0:
print(n)
n += 1 # n>0条件永远为真,陷入死循环
在while循环时要注意条件的边界值,以及条件是否为永真,否则会陷入死循环
n = 10
while n>0:
n -= 1
print(n)
# 9,8,7,6,5,4,3,2,1,0
n = 10
while n>0:
print(n)
n -= 1
# 10,9,8,7,6,5,4,3,2,1
比较上面两代码块,发现了什么要注意什么?
break
在循环中break语句可提前退出循环
n = 10
while n>0:
print(n)
n -= 1
# 10,9,8,7,6,5,4,3,2,1
n = 10
while n>0:
if n < 5: # 如果n<5 执行break语句,提前退出循环
break # 循环终止
print(n)
n -= 1
# 10,9,8,7,6,5
continue
在循环中跳过当前循环,直接进入下一轮循环
n = 10
while n>0:
n -= 1
if n % 2 == 0: # 当n为偶数时执行continue,不执行continue后面的循环语句结束本轮循环,重 新开始循环
continue
print(n)
# 9,7,5,3,1
总结:break 语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
如果程序陷入死循环,以pytharm中通过Ctrl+C退出程序,或者强制结束Python进程。