赞
踩
def rvs(s):
if s == '':
return s
else:
return rvs(s[1:])+s[0]
这是嵩天老师课上,代码复用章节的一个问题:
我自己在idle上试了一下,出现了TypeError: 'int' object is not subscriptable的报错
总结一下,有两个解决办法:
第一种:调用函数的时候加引号:
>>> rvs("1234")
可以返回预期值“4321”
这也就说明是字符串形式的输入才能调用s[0]
那么就有第二种解决方式:
def rvs(s):
a =str(s)
if s == '':
return s
else:
return rvs(a[1:])+a[0]
将输入的s转换成字符串形式
接下来直接输入rvs(1234)
都能得到预期值4321
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。