我正在解决以下代码战争问题:https://www.codewars.com/kata/56dbe0e313c2f63be4000b25/train/python网站上也有一些例子。
我编写了以下代码:
def vert_mirror(str1):
x = str1.split()
temp_1 = []
for i in x:
temp_1.append(i[::-1])
y = "\\n".join(temp_1)
return print("'"+str(y)+"'")
def hor_mirror(str1):
x = str1.split()
temp_2 = []
for i in range(1, len(x) + 1):
temp_2.append(x[(-i)])
y = "\\n".join(temp_2)
return print("'"+str(y)+"'")
def oper(fct, s):
if fct is vert_mirror:
vert_mirror(s)
elif fct is hor_mirror:
hor_mirror(s)现在,当您在网站中输入这段代码并对其进行vert_mirror测试时,您得到了他们期望的确切输出,但是由于某种原因,测试失败了吗?知道为什么吗?
我已经在我的IDE上测试过它,它似乎产生了正确的输出,但是由于某种原因,当我在网站上使用上面的代码运行测试时,它失败了。
发布于 2021-02-06 17:16:34
尝试以下几种方法,它应该会起作用:
return print("'"+str(y)+"'")改为return str(y)。这做了两件事,在您的代码中,您将返回print函数的返回值,该值为None,因此我们不返回要返回的字符串。第二,您不想将'附加到答案中。在两个函数中进行此更改。oper函数中在vert_mirror(s)和hor_mirror(s)之前添加return关键字。当前,您的python).\n. \\n中函数的默认返回值)。
这会通过测试的。
如果有帮助的话,可以接受这个问题作为答案。
https://stackoverflow.com/questions/66079455
复制相似问题