专栏首页dongfanger条件循环语句组成了Python代码的骨架

条件循环语句组成了Python代码的骨架

条件控制

我们都知道流程图是有多个分支的,程序中也是如此,在Python中是用if语句来判断程序该走哪个分支的。它的执行过程如下:

代码执行过程如下:

if

if语句的一般形式如下:

if condition_1:
    statement_block_1
  • 如果condition_1为True,执行statement_block_1。

condition_1是条件表达式,由各种运算符和数据类型组成,条件表达式的结果可以是True/False的布尔值,也可以是非布尔值。Python中的0、None、空列表、空字典等都会被认为是False,反之都会被认为是True。

else

else语句在条件为False时执行:

if condition_1:
    statement_block_1
else:
    statement_block_2
  • 如果condition_1为True,执行statement_block_1。
  • 如果condition_1为False,执行statement_block_2。

elif

if...else实现了“如果满足条件,那么xxx,否则xxx”,除此之外,还可以用elif实现多个连续判断,分别执行不同的语句:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
  • 如果condition_1为True,执行statement_block_1。
  • 如果condition_1为False,再判断,如果condition_2为True,执行statement_block_2。
  • 否则,执行statement_block_3。

elif可以写多个。这种写法的执行顺序是从上往下,只要满足了某个ifelif的条件,就会在当前分支执行后跳出去,不再执行后面的判断,如果每个ifelif的条件都是False,最后就会执行else

if嵌套

假如想满足ifelif的条件后,继续做判断,那么就需要进行if语句嵌套,让statement_block_1等代码块也包含if语句:

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

示例:

num=int(input("输入一个数字:"))
if num%2==0:
    if num%3==0:
        print("你输入的数字可以整除 2 和 3")
    else:
        print("你输入的数字可以整除 2,但不能整除 3")
else:
    if num%3==0:
        print("你输入的数字可以整除 3,但不能整除 2")
    else:
        print  ("你输入的数字不能整除 2 和 3")

循环语句

条件语句是从上往下流水式单次执行,循环语句和条件语句的不同点在于,循环是可以回到起始点,反复执行多次的,它的执行过程如下:

while

循环语句的一种形式是while语句:

while 判断条件(condition):
    执行语句(statements)……

它的执行流程图如下:

示例:

n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))  # 5050

for

循环语句的另一种形式是for语句:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

它的执行流程图如下:

示例:

languages = ["C", "C++", "Perl", "Python"]
for x in languages:
    print(x)

break

break用来跳出整个循环,它的执行流程图如下:

示例:

for letter in 'Runoob':     # 第一个实例
   if letter == 'b':
      break
   print ('当前字母为 :', letter)
  
var = 10                    # 第二个实例
while var > 0:              
   print ('当期变量值为 :', var)
   var = var -1
   if var == 5:
      break
 
print ("Good bye!")

continue

break用来跳出整个循环,continue则是用来跳过当前循环,回到起点,继续下一次循环。它的执行流程图如下:

示例:

for letter in 'Runoob':     # 第一个实例
   if letter == 'o':        # 字母为 o 时跳过输出
      continue
   print ('当前字母 :', letter)
 
var = 10                    # 第二个实例
while var > 0:              
   var = var -1
   if var == 5:             # 变量为 5 时跳过输出
      continue
   print ('当前变量值 :', var)
print ("Good bye!")

break和continue在while循环和for循环中的代码执行过程如下:

循环else

循环后面可以加else语句,while...elsefor...else。咋看一下else好像并没有什么用,因为while循环条件为False或for循环结束后,一定会执行接下来的语句。但是如果循环中出现了break,当循环从break跳出来后,是不会执行else语句的。例如:

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
        # 循环中没有找到元素
        print(n, ' 是质数')

range()函数可以生成数字序列。

无限循环

通过设置while循环条件始终为True,可以让循环一直进行下去,例如:

while True:
    pass

pass是占位语句,不执行任何操作。

无限循环是很有用的,比如定时任务,每隔5分钟收1次邮件:

import time

while True:
    receive_email()
    time.sleep(300)

还有比如客户端和服务器保持连接的心跳机制等。

小结

本文介绍了条件控制和循环语句,也就是写Python常用的ifwhilefor语句,同时也讲解了附带语句elifelsebreakcontinuepass的使用。同时也包括了if嵌套、循环else、无限循环的知识点。这一部分的知识非常重要,是代码的骨架,除了看文章,学代码最好的方式是实际敲代码。我们建了一个“Python互助讨论群”,每周日会有算法刷题打卡活动(照着答案敲一遍也ok),公众号后台回复“加群”即可加入,有兴趣的同学可以一起来相互学习交流呀。

参考资料: https://www.runoob.com/python3/python3-conditional-statements.html https://www.runoob.com/python3/python3-loop.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python运算符可不只有加减乘除

    数学里面的加减乘除,就是运算符,但是 Python 的运算符更多样,更复杂,分为算术运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符...

    dongfanger
  • 结对测试算法性能优化(代码层面)

    dongfanger
  • 从函数到包的Python代码层次

    Python是一门脚本语言,新建一个.py文件,写点代码,就可以跑起来了,无论放哪都可以。比如where.py文件:

    dongfanger
  • Python的基础语法(二)

    接着上一篇博客的内容,我将继续介绍Python相关的语法。部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂。

    py3study
  • python学习之路2(程序的控制结构)

              if <条件>:                       例:guess = eval(input())

    py3study
  • python学习之if条件和for循环语句

    从控制台获取一个成绩,根据成绩判断:如果>80 优秀,>70良好,>60及格,<60不及格

    吾爱乐享
  • 第二章(1.4)Python基础知识(流程控制)

    if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else

    两只橙
  • 第二章(1.4)Python基础知识(流程控制)

    (1)for...in循环,依次把list或tuple中的每个元素迭代出来,Python提供一个Range()函数,可以生成一个整数序列。

    两只橙
  • Python极简入门:数据类型、条件语句、循环语句、异常处理

    https://blog.csdn.net/weixin_37777526/article/details/108427112

    统计学家
  • Python自动化开发学习1-2

    Python有他有非常丰富的标准库和第三方库。使用前要先用import命令导入,然后才能在之后的代码中调用。

    py3study

扫码关注云+社区

领取腾讯云代金券