【发布时间】:2020-01-24 08:04:59
【问题描述】:
所以,在学校,我做了一个关于递归的练习,内容如下: 我得到了一个字符串和一个随机的 int 值“N”。该字符串是一个布尔表达式,例如 '3*x - 2* y 递归编写,而且我不能将函数用作“itertools”等,这在我们学校是不允许的。
**MY CODE:**
def solution(expression, N,x=None,y=None):
if x is None: x = -N + 1
if y is None: y = -N + 1
res = []
if x >= N and y >= N:
return []
if eval(expression) == True:
res.append((x, y))
return res + solution(expression, N, x+1, y+1)
【问题讨论】:
-
请将代码和数据发布为文本,而不是图像。
-
好的!生病改变它
-
你应该使用“if x is None”而不是“if x == None”。这可能不是您的代码的问题,但知道它很有用。
-
我改了,还以为不一样了..