如何从输出12,7,2,-3,2,7,12,
中删除最后一个逗号?
这是我当前的代码:
n = 15, k = 5
def pattern(n):
# Write your recursive function here
if n < 0:
print(n, end=',')
else:
print(n, end=',')
pattern(n-k)
print(n, end=',')
pattern(n)
答案 0 :(得分:0)
请注意,无论如何:if
或else
,首先打印n
。因此,您始终可以从打印开始。现在我们可以将逗号切换到打印开始:
n = 15
k = 5
def pattern(n):
# Write your recursive function here
print(n, end='')
if n > 0:
print(', ', end='')
pattern(n-k)
print(', ' + str(n), end='')
pattern(n)
礼物:
15, 10, 5, 0, 5, 10, 15
答案 1 :(得分:0)
当然,Tomerikoos的回答完全符合要求。这是一个具有其他优点的解决方案:
n = 15; k = 5
def pattern(n):
if n < 0:
return [n]
else:
return [n] + pattern(n-k) + [n]
print(', '.join(map(str,pattern(n))))
说明:
str
映射到序列上,生成一个字符串序列。str.join
将续集连接在一起。好处:
边注;您可以在以下情况下内联使用pythons:
def pattern(n):
return [n] if n<0 else [n] + pattern(n-k) + [n]