|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
python作业里面的十进制转二进制,我才输入了20,怎么就数据溢出- import sys
- sys. setrecursionlimit(10000000)
- def nemberx (x):
- if x == 0:
- return str(x)
- else :
- str(nemberx(x) % 2) + str(nemberx(x // 2))
-
复制代码
报错
>>> nemberx(20)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
nemberx(20)
File "C:/Users/aizhen/Desktop/python/作品/十进制转二.py", line 8, in nemberx
str(nemberx(x) % 2) + str(nemberx(x // 2))
File "C:/Users/aizhen/Desktop/python/作品/十进制转二.py", line 8, in nemberx
str(nemberx(x) % 2) + str(nemberx(x // 2))
File "C:/Users/aizhen/Desktop/python/作品/十进制转二.py", line 8, in nemberx
str(nemberx(x) % 2) + str(nemberx(x // 2))
[Previous line repeated 7611 more times]
MemoryError: Stack overflow
>>>
第七行 - str(nemberx(x) % 2) + str(nemberx(x // 2))
复制代码
这里进入member(x)时x并没有变,所以你的递归没有设置返回条件
|
|