Python 3.x 拆分整数8-->;[1,7],[2,6]
我想做一个函数,其中取一个大于3的整数,并展示添加数字的不同方法。例如,6将变成[[1,5],[2,4]],并且不包括[3,3]。3会变成[[1,2]]。8将变成[[1,7],[2,6],[3,5],[4,4] 我迄今为止的努力Python 3.x 拆分整数8-->;[1,7],[2,6],python-3.x,Python 3.x,我想做一个函数,其中取一个大于3的整数,并展示添加数字的不同方法。例如,6将变成[[1,5],[2,4]],并且不包括[3,3]。3会变成[[1,2]]。8将变成[[1,7],[2,6],[3,5],[4,4] 我迄今为止的努力 def split(k): values = [] for i in range(k//2): values.append([i+1,k-1-i]) print(values) 遇到显示[3,3]和[4,4]的问题。不确定这背
def split(k):
values = []
for i in range(k//2):
values.append([i+1,k-1-i])
print(values)
遇到显示[3,3]和[4,4]的问题。不确定这背后的逻辑 您希望使用
math.ceil
来计算奇数,并在浮点除法后进行四舍五入
from math import ceil
def split(k):
return [[i, k-i] for i in range(1, ceil(k/2))]
因此,在9的情况下,range将生成值1-5,不包括5,1,2,3,4
,然后从9中减去这些值,形成对
您还可以提供范围1
的起始值以忽略零
# Output
>>> split(3)
[[1, 2]]
>>> split(8)
[[1, 7], [2, 6], [3, 5]]
>>> split(9)
[[1, 8], [2, 7], [3, 6], [4, 5]]
非常感谢。我不知道天花板的功能。真的很有帮助。不用担心,你也可以只做
range(1,(k+1)//2)
,效果也一样。