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='字符转换错误'