Python学习4-流程控制

条件判断和循环是流程控制的主要组成部分,也是我们日常编码过程的比较常用到的功能。

1.条件判断

Python程序中,用if语句做条件判断,if后面跟 空格+条件判断语句+冒号,换行后缩进写入条件判断为True时执行逻辑内容,可以使用elif做多重条件判断,也可以用else做条件判断都为False时的补充处理。

示例1:
条件判断一般存在多行,使用文件执行的方式更加方便也容易理解。
在E:\目录下新建test.py python文件,用文本编辑器打开后,编辑文件,输入第一个条件判断语句。语法如下:
if 条件判断:
条件判断为True时执行内容
elif 条件判断:
条件判断为True时执行内容
….
else:
上面条件判断都为False时执行内容

num = 1
if num>0:
  print("is positive number")
elif num<0:
  print("is negative number")
else:
  print("is zero")

打开cmd命令行,进入E:/目录后执行python test.py,控制台输出is positive number。
说明通过第一个条件判断num>0后返回True,并执行了print(“is positive number”)语句。

示例2:
我们把上一个示例中的test.py文件中num = 1,修改为num = -1,保存后执行,输出is negative number。这个程序执行时,先判断num>0,返回了False,没有执行接下来的print语句;然后继续判断了num<0,返回True,执行了print(“is negative number”)。
同样,我们把num = -1,修改为num = 0,保存后执行,输出is zero。执行时,先判断num>0,返回了False,没有执行接下来的print语句;然后判断num<0,返回了False,也没有执行接下来的print语句;最后输出了else后的print语句。说明else中的代码块只有在前面的条件判断都为False时才执行

示例3:
把test.py文件修改为:

num = 1
if num>0:
  print("is positive number")
elif num>0:
  print("is too positive number")
else:
  print("is zero")

理论上应该输出“is positive number ”和“is too positive number”。执行python test.py后输出“is positive number”。在if…elif条件判断语句中,如果前面的判断为True,后面的条件判断都不会执行了。所以就算条件判断其实都为True,其实执行的的也只有第一个判断为True的代码块。

示例4:
也可以使用if判断变量是否为空,如果不为空(非0,非字符串,非空)返回True,否则返回False。

if a:
    print('True')

2.循环

python循环包括for循环和while循环。

  • for循环
    for…in循环,依次把list或tuple中的每个元素迭代出来。
    基本语法
val = 'abcde'
for tmp in val:
  print(tmp)
list = ['ba','cd','xx',1]
for tmp in list:
  print(tmp)

输出“a\n b\n c\n d\n e\n ba\n cd\n xx\n 1\n”。

break和continue
break用于中止循环,执行完后不会执行后续循环了,会跳出循环语句后执行循环外后面的其他语句。
continue用于跳出当前循环,还是会继续执行下面的循环语句的。

  for num in range(20):
  if num>3 and num<6:
    continue
  elif num>9:
    break
  print(num) 

输出:“0\n 1\n 2\n 3\n 6\n 7\n 8\n 9\n”。当num>3并且num<6时,执行了continue,跳出了当前循环,并没有执行打印语句;当num>9时,执行了break,中止了循环,后面的元素全没打印了。

for…else
else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行。
下面语句第一个会执行print(“for is not break”),而第二个不会执行

for num in range(2):
  print(num)
else:
  print("for is not break")
for num in range(2):
  if num==1:
    break;
  print(num)
else:
  print("for is not break")
  • while循环
    while循环在某条件下,循环执行某段程序,以处理需要重复处理的相同任务,直至条件不成立。语法如下:
    while 条件判断:
    执行语句
num = 0;
while num<4:
  print(num)
  num = num +1

continue、break、else的用法参考for。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值