未知数量的循环
an unknown number of cycles
如果n=1
我要写:
for a1 in range(-10,10,1):
if 13*a1 == 1:
print('Success')
如果n=2
我想写:
for a1 in range(-10,10,1):
for a2 in range(-10,10,1):
if 13*a1+27*a2==1:
print('Success')
如果n=3
我想写:
for a1 in range(-10,10,1):
for a2 in range(-10,10,1):
for a3 in range(-10,10,1):
if 13*a1+27*a2+37*a3==1:
print('Success')
等
n
可以是1或2或3.. 20。n
是1到20之间的随机数
我该如何编写下一个代码:
for a1 in range(-10, 10, 1):
for a2 in range(-10,10,1):
....
for an in range(-10,10,1): #n is a random number from 1 to 20
if some_number_1*a1+...+some_number_n*an == 1:
print('Success')
我试图找到解决方案:
也许我们可以使用递归
def recur(a):
for a in range(-10,10,1):
recur(a)
这个方法不行
也许我们可以使用列表。
例如,
list[1]=-10,..., 10
list[2]=-10,...,10
...
list[n]=-10,...,10
所以我们有矩阵(n,21)。但我不知道如何使用这个矩阵来解决我的问题。
也许我们需要使用树,但我从未使用过它们
也许我可以使用库来求解方程 a1*x1+a2*x2+...+an*xn=1
,但这并不有趣。我想知道如何自己解决这个任务。
def func(a):
for i in itertools.product(range(-10, 10), repeat=len(a)):
if sum(x*y for x, y in zip(i, a)) == 1:
print("success")
如果n=1
我要写:
for a1 in range(-10,10,1):
if 13*a1 == 1:
print('Success')
如果n=2
我想写:
for a1 in range(-10,10,1):
for a2 in range(-10,10,1):
if 13*a1+27*a2==1:
print('Success')
如果n=3
我想写:
for a1 in range(-10,10,1):
for a2 in range(-10,10,1):
for a3 in range(-10,10,1):
if 13*a1+27*a2+37*a3==1:
print('Success')
等
n
可以是1或2或3.. 20。n
是1到20之间的随机数
我该如何编写下一个代码:
for a1 in range(-10, 10, 1):
for a2 in range(-10,10,1):
....
for an in range(-10,10,1): #n is a random number from 1 to 20
if some_number_1*a1+...+some_number_n*an == 1:
print('Success')
我试图找到解决方案:
也许我们可以使用递归
def recur(a): for a in range(-10,10,1): recur(a)
这个方法不行
也许我们可以使用列表。 例如,
list[1]=-10,..., 10 list[2]=-10,...,10 ... list[n]=-10,...,10
所以我们有矩阵(n,21)。但我不知道如何使用这个矩阵来解决我的问题。
也许我们需要使用树,但我从未使用过它们
也许我可以使用库来求解方程
a1*x1+a2*x2+...+an*xn=1
,但这并不有趣。我想知道如何自己解决这个任务。
def func(a):
for i in itertools.product(range(-10, 10), repeat=len(a)):
if sum(x*y for x, y in zip(i, a)) == 1:
print("success")