zoukankan      html  css  js  c++  java
  • 课时34:丰富的else语句以及简洁的with语句

    目录:
      一、丰富的else语句

      二、简洁的with语句

      三、课时34课后习题及答案

    ***********************

    一、丰富的else语句

    ***********************

    1、要么怎样,要么不怎样

    典型的if-else搭配:

    if条件:
      条件为真执行
    else:
      条件为假执行

    2、干完了能怎样,干不完就别想怎样

    else语句可以跟for和while循环语句配合使用,但是else语句块只再循环完成后执行,也就是说,如果循环中间使用break语句跳出循环,那么else里边的内容就不会执行了。举个例子:

    def showMaxFactor(num):
        count = num // 2
        while count > 1:
            if num % count == 0:
                print('%d最大的约数是%d' % (num, count))
                break
            count -= 1
        else:
            print('%d是素数!' % num)
    
    num = int(input('请输入一个数:'))
    showMaxFactor(num)

    这个小程序主要是要求用户输入的数的最大约数,如果是素数的话就顺便提醒一下”这是一个素数“。注意要使用地板除法(count = num // 2)哦,否则结果会出错。使用暴力的方法一个一个尝试(num % count == 0),如果符合条件则打印最大的约数,并break,同时不会执行else语句块的内容了。如果一直没遇到合适的条件,则会执行else语句块内容。

    for语句的用法和while一样,这里就不重复举例了。

    3、没有问题,那就干吧

    else语句还能跟刚刚学的异常处理进行搭配,实现跟与循环语句搭配差不多:只要try语句块里没有出现任何异常,那么就会执行else语句块里的内容了。举个例子:

    try:
          int("abc")
    except ValueError as reason:
          print("出错啦" + str(reason))
    else:
          print("没有任何异常")
    

    ***********************

    二、简洁的with语句

    ***********************

    也许会觉得打开文件又要关闭文件,还要关注异常处理有些烦人,所以Python提供了一个with语句,利用这个语句抽象除文件操作中频繁使用的try/except/finally相关的细节。对文件操作使用with语句,将大大减少代码量,而且你再也不用担心出现文件打开了忘记关闭的问题了(with会自动帮你关闭文件)。举个例子:

    try:
          f = open("data.txt","x")
          for each_line in f:
                print(each_line)
    except OSError as reason:
          print("出错啦" + str(reason))
    finally:
          f.close()

    使用with语句,可以改成这样:

    try:
          with open("data.txt","x") as f:
                for each_line in f:
                      print(each_line)
    except OSError as reason:
          print("出错啦" + str(reason))

    是不是很方便呢?有了with语句后,就再也不用担心忘记关闭文件了。

    *******************************

    三、课时34课后习题及答案

    *******************************

  • 相关阅读:
    PHP chop() 函数
    PHP bin2hex() 函数
    多个表关联或者有视图套视图,快速检查SQL语句中所有的表统计信息是否过期
    洛谷P3628 [APIO2010]特别行动队 斜率优化
    洛谷P3195 [HNOI2008]玩具装箱TOY 斜率优化
    bzoj4282 慎二的随机数列 树状数组求LIS + 构造
    校园网 入读统计 + 性质分析
    HAOI2006 受欢迎的牛 缩点
    普通平衡树 Treap
    洛谷P1563 玩具谜题 简单模拟
  • 原文地址:https://www.cnblogs.com/DC0307/p/9513060.html
Copyright © 2011-2022 走看看