Python3.8 - 如何获得最小长度和最大长度的总组合
Python3.8 - How To get total combinations which can be made with min length and max length
我实际上正在制作一个工具,它需要 最小长度和最大长度,然后使用字符 ,然后在给定的条件下,它 将所有可能的组合写入一个单词列表,但是有没有办法使用最小长度、最大长度和字符数
来获得多少组合
我的密码是:
import itertools
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
for n in range(min_len, max_len + 1):
for xs in itertools.product(characters, repeat=n):
word = ''.join(xs)
print(f"Writing {word}")
我在 Python3.8, Linux
感谢您提前提供帮助!
给定 w
个字符,您可以创建 w**n
个长度为 n
的字符串。所以你正在寻找 w**min_length + ...... + w**max_length
此代码可以工作...
from itertools import chain, combinations
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
combination = list(chain.from_iterable(combinations(characters, i) for i in range(min_len, max_len+1)))
for comb in combination:
print("".join(comb))
我实际上正在制作一个工具,它需要 最小长度和最大长度,然后使用字符 ,然后在给定的条件下,它 将所有可能的组合写入一个单词列表,但是有没有办法使用最小长度、最大长度和字符数
来获得多少组合我的密码是:
import itertools
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
for n in range(min_len, max_len + 1):
for xs in itertools.product(characters, repeat=n):
word = ''.join(xs)
print(f"Writing {word}")
我在 Python3.8, Linux
感谢您提前提供帮助!
给定 w
个字符,您可以创建 w**n
个长度为 n
的字符串。所以你正在寻找 w**min_length + ...... + w**max_length
此代码可以工作...
from itertools import chain, combinations
min_len = int(input("Min Len: "))
max_len = int(input("Max Len: "))
characters = str(input("Characters To use: "))
combination = list(chain.from_iterable(combinations(characters, i) for i in range(min_len, max_len+1)))
for comb in combination:
print("".join(comb))