合并排序算法工作正常,我能够获得与预期相同的字符串,但输出与预期输出不匹配。
n = int(raw_input())
a = [] # input list
for i in range(n):
a.append(raw_input().split())
for i in range(n):
print (' '.join(mergesort(a[i])
在每个新字符串列表的预期输出中,一开始会有一个额外的空格,而我的代码不会在新的字符串列表的开头添加任何额外的空格。当两个琴弦之间只打印一个空格时,为什么会出现这种差异?我怎么能解决这个问题?
我的输出:my_output 预期产出:expected_output
下面的是所需的输出格式,因此我在最后一行的print函数中添加了空格。
输出:
输出应该包含按字符串长度排序的输入字符串集。必须在两个单词之间打印一个空格。
答案 0 :(得分:0)
您的代码似乎对我有点困惑。你真的想raw_input().split()
吗?我不这么认为。试试这个:
inp = raw_input()
for el in inp.split():
print(''.join(mergesort(el)))
答案 1 :(得分:0)
你得到了联接功能。它将数组合并为一个字符串,通过您调用它的字符串分隔元素。在你的情况下空间。如果你想在字符串的前端和末尾加上空格,你必须手工完成。
print(' ', ' '.join(mergesort(a[i])))
这应该可以解决问题。