python - Python程序使用递归函数问题来反转数字
问题描述
此代码由于某种原因不起作用,但我不确定为什么
def rev(n):
if not n:
return 0
return rev(int(n/10))*10 + n%10
转(512)
152
但是当我将它保存在一个特定的变量中并通过函数传递它时,它就可以工作了。为什么会这样?任何人都可以帮助我吗?
def rev(n,r=0):
if not n:
return r
r = r*10 + n%10
return rev(int(n/10),r)
转(512)
215
解决方案
def rev(n,r=0):
if not n:
return r
r = r*10 + n%10
return rev(int(n/10),r)
#the above code can reverse the number digit by digit,bringing it forward;
def rev(n):
if not n:
return 0
return rev(int(n/10))*10 + n%10
#this code will do some other thing;
#once try for few examples;
#preferable 1234;
#you can get the differences of bith the algo
推荐阅读
- python - 当数据集有“-”和“无”单元格时,Pandas 填充缺失的数据
- docker - Docker 卷是否使用跨 Docker 服务副本共享的本地驱动程序?
- apache-kafka - 设置 clauster 时,kafka 代理的推荐 RAM 大小是多少?
- r - 按日期聚合列表中的数据框,然后合并回来 - lapply?
- excel - 在信息有限的情况下增加/减少值
- ios - 自定义 UITableViewCell 中的 UIView 不可见
- javascript - 如何使用 Node-JS 在浏览器的客户端执行 javascript 函数?
- java - 如何在 IntelliJ 插件中添加事件侦听器?
- r - 填充参数使 geom_label() 中的位置参数无效
- windows - 在 Windows 10 设备驱动程序中使用互斥锁导致代码 39