我正在尝试合并这两个元组(t,n),因此它返回一个元组,它是t和n的排序组合。
找不到这个有什么问题:
def junta(t,n):
a = ()
b = ()
minimo = t[0]
for x in t:
if x < minimo:
minimo = x
a = a + (minimo)
t = t - (minimo)
minimo2 = n[0]
for y in n:
if y < minimo2:
minimo2 = y
b = b + (minimo2)
n = n - (minimo2)
c = a + b
return c
这应该与此相同:
def juntas(a,b):
return tuple(sorted(a+b))
答案 0 :(得分:0)
括号运算符有两个相互矛盾的含义:其中一个作为分组运算符。另一个是元组创建。代码中的(minimo)
表示评估具有更高优先级的minimo。您希望(minimo,)
创建一个长度的元组。
答案 1 :(得分:0)
感谢你的回答,我得到了一个解决方案:
def junta(t,n):
a = ()
b = ()
d =()
while len(t)>0:
minimo = t[0]
for x in t:
if x < minimo:
minimo = x
a = a + (minimo,)
minimo_index = t.index(minimo)
t = t[:minimo_index] + t[minimo_index+1:]
while len(n)>0:
minimo2 = n[0]
for y in n:
if y < minimo2:
minimo2 = y
b = b + (minimo2,)
minimo2_index = n.index(minimo2)
n = n[:minimo2_index] + n[minimo2_index+1:]
c = a + b
while len(c)>0:
minimo3 = c[0]
for z in c:
if z < minimo3:
minimo3 = z
d = d + (minimo3,)
minimo3_index = c.index(minimo3)
c = c[:minimo3_index] + c[minimo3_index+1:]
return d