二、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进程。

posted @ 2021-11-16 21:01  淡定的人参果  阅读(165)  评论(0编辑  收藏  举报