如何增加函数中的循环次数?
How to increase number of loops in a function?
我这里有一个代码
letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
ret = ""
for i in range(26):
for j in letters:
ret += f"({letters[i]},{j})"
print(ret)
#Output:
(a,a)(a,b)(a,c)(a,d)(a,e)(a,f)(a,g)(a,h)(a,i)(a,j)(a,k)(a,l)(a,m)(a,n)(a,o)(a,p)...(z,y)(z,z)
我想解决的问题是:
当我尝试增加排列数时,例如从 2 位数增加到 3 位数,我必须添加另一个循环。当我想将其实现为函数时,如何在增加位数时增加循环数,谁能帮忙:(
这是我尝试将位数从 2 增加到 3 时所做的:
for i in range(26):
for k in range(26):
for j in letters:
ret += "(" + str(letters[i]) + "," + str(letters[k]) + "," + j + ")"
print(ret)
#Output
(a,a,a)(a,a,b)(a,a,c)(a,a,d)(a,a,e)(a,a,f)(a,a,g)(a,a,h)(a,a,i)(a,a,j)(a,a,k)(a,a,l)(a,a,m)...(z,z,z)
如何在函数中实现它?
您可以像这样使用 itertools 实现此目的
import itertools
def perm_func(arr, x):
ret_str = ""
p for p in itertools.product(arr, repeat=x):
ret_str += str(p)
return ret_str
我这里有一个代码
letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
ret = ""
for i in range(26):
for j in letters:
ret += f"({letters[i]},{j})"
print(ret)
#Output:
(a,a)(a,b)(a,c)(a,d)(a,e)(a,f)(a,g)(a,h)(a,i)(a,j)(a,k)(a,l)(a,m)(a,n)(a,o)(a,p)...(z,y)(z,z)
我想解决的问题是:
当我尝试增加排列数时,例如从 2 位数增加到 3 位数,我必须添加另一个循环。当我想将其实现为函数时,如何在增加位数时增加循环数,谁能帮忙:(
这是我尝试将位数从 2 增加到 3 时所做的:
for i in range(26):
for k in range(26):
for j in letters:
ret += "(" + str(letters[i]) + "," + str(letters[k]) + "," + j + ")"
print(ret)
#Output
(a,a,a)(a,a,b)(a,a,c)(a,a,d)(a,a,e)(a,a,f)(a,a,g)(a,a,h)(a,a,i)(a,a,j)(a,a,k)(a,a,l)(a,a,m)...(z,z,z)
如何在函数中实现它?
您可以像这样使用 itertools 实现此目的
import itertools
def perm_func(arr, x):
ret_str = ""
p for p in itertools.product(arr, repeat=x):
ret_str += str(p)
return ret_str