我想编写一个递归函数,该函数打印出到达N和K为正的点的方式,例如,如果该点是(1,1) r =对 u =上
因此该函数将打印ur,ru。 如果点是(2,2),则可能的步骤是:rruu,ruru,urru,uurr 我开发了一个函数,该函数可打印 all (全部包含rrrr或uuuu)和r posibale的组合。但是我只需要'r'的数量='u'的数量的序列。 我写了func来帮助我想要的功能
def assist_print_sequences(char_list, last_seq, n):
# base case
if n > 0:
for char in char_list:
# looping over all the chars in list and adds them to last chars until n<1.
assist_print_sequences(char_list, last_seq + char, n-1)
# when n is smaller than 1.
else:
print(last_seq)
答案 0 :(得分:2)
似乎您想要的是target
的排列
target = ["r"] * n + ["u"] * k
target_string = "".join(target)
然后从How to generate all permutations of a list in Python中选择答案,您便可以递归地找到要达到的目标的所有路径(可以递归找到排列)