由于某种原因,我不知道如何启动此代码。我试图找到五对数字,每对数字之和等于给定数字。
答案 0 :(得分:1)
这个问题不应该太难解决。假设目标值是10,那么您想要获得的第一对是(10,0)。之后,您可以从上一对中减去1:
我想你在这里有了主意。如果您想使事情更专业,可以将目标数字除以2,这将为您提供以下对:(5,5)。 然后,您可以生成一个随机整数并使用相同的逻辑。
唯一需要注意的是,如果该对已经被使用过。在这种情况下,您只需将“使用的”随机数存储在数组中即可。
from random import randint
def get_pairs(target):
used_numbers = []
for i in range(5):
random_int = randint(0, 20)
while(random_int in used_numbers):
random_int = randint(0, 20)
print(str(target + random_int) + "," + str(target - random_int))
答案 1 :(得分:0)
以下是使用random.randint()
的简单示例:
import random
iNum = input("Enter number: ")
num = int(iNum) if iNum.isnumeric() else 256 # I just wanted to test
pairs = []
while len(pairs) < 5:
num1 = random.randint(0, num)
pairs.append((num1, num-num1))
print("Pairs: {0}".format(pairs))
基本思想是选择一个介于0和您的数字之间的数字。您可能可以进一步改善(使用负值作为开始/结束范围等)