• 刷题(二)


    def A(a, b):
        try:
            for i in range(1, int(b)):
                a += b
                if int(b) > 4:
                    return a
                else:
                    a += a
            return a
        except TypeError:
            return '参数类型错误'
        except ValueError:
            return '字符转换错误'

    填写对应的N值

    填入 N值  输入 N值
    N=A(1,4) 64 N=A('1',2) '参数类型错误'
    N=A(1,5) 6 N=A('1','2') '1212'
    N=A(1,1) 1 N=A(1,'ss') '字符转换错误'

    分析:

    当N=A(1,4)时,a=1, b=2, for i in range(1,4):

      当 i=1 时, a=1+4=5; a=5+5=10

      当 i=2 时, a=10+4=14; a=14+14=28

      当 i=3 时, a=28+4=32; a=32+32=64

      返回 a=64,故N=64

    当N=A(1,5)时,a=1, b=5, for i in range(1,5):

      当 i=1 时, a=1+5=6; 

      int(5)>4, 返回 a=6, 故N=6

      遇到return意味着函数的结束

    当N=A(1,1)时, a=1, b=5, for i in range(1,1):

      函数不会进入for循环,直接返回 a=1, 故N=1

    当N=A('1',2)时, a='1', b=2, for i in range(1, 2):

      当 i=1 时, a='1'+2;

      字符串不能和整型相加(或拼接),所以出现TypeError

      返回 参数类型错误, 故N='参数类型错误'

    当N=A('1','2')时, a='1', b='2', for i in range(1, 2):

      当 i=1 时, a='1'+'2'='12'; a='12'+'12'='1212'

      返回 a='1212', 故N='1212'

    当N=A(1,'ss')时, a=1, b='ss', for i in range(1, int('ss')):

      字符串内部不是整数形式,因此不能转换为整型,出现ValueError

      返回 字符转换错误, 故N='字符转换错误'

  • 相关阅读:
    管理~资源组织运作
    科学与艺术区别
    概念思维
    拨开文字表象,关注背后事实
    论信息部门与业务部门的关系
    再论信息系统
    linux命令行快捷键记录
    hadoop,帮我解了部分惑的文章
    hadoop运行测试命令遇到的问题
    日志分析及几个小技巧
  • 原文地址:https://www.cnblogs.com/my_captain/p/9387829.html
Copyright © 2020-2023  润新知