【发布时间】:2018-09-11 06:47:43
【问题描述】:
我有一个运行号码列表,我试图在列表中随机选择 2 个号码,同时确保这两个号码之间的差值大于 5。另外,选择的号码不能是第一个或最后一个 5输入列表的编号。
我已经编写了这段代码,但它不能很好地工作。
_list = random.sample(range(5, len(_det)-5), 2)
if max(_list) - min(_list) < 5:
_list = random.sample(range(5, len(_det)-5), 2)
else:
pass
许多不同的列表都通过相同的代码。有些可以长到 800 个运行数字,有些可以短到 14 个。因此,如果列表太短,代码应该返回错误并退出程序。
【问题讨论】:
-
如果差值小于 5 两次,您的代码将不会做正确的事情。您可能想要使用递归函数调用。
标签: python python-2.7 list random