首页 > 解决方案 > 使用 python 创建自己的数字系统

问题描述

我正在制作一个猜测密码的小程序。

我制作这个程序只是为了学习,我想通过制作一个真正有意义的程序来提高我的python技能。

例如:

using_characts = "abcdefghijklmnopqrstuvwxyz" # I have other characters in my alphabetic system

我想做的是这样的:

for char in myCharacters:
    print(char)
    for char_1 in myCharacters:
        print(char + char_1)
        for char_2 in myCharacters:
            print(char + char_1 + char_2)
            ...etc

这使得这种方法是非动态的,同时也很难。输出应该是这样的:

a

b

c

d

e

f

..etc

aa

ab

ac

..etc

ba

bb

bc

..etc

标签: python

解决方案


您可以使用itertools.product,但您应该真正限制自己使用少量。为更大的数字生成笛卡尔积可能需要很长时间:

from itertools import chain, product
chars = "abcdefghijklmnopqrstuvwxyz"
limit = 2
for perm in chain.from_iterable(product(chars, repeat=i) for i in range(1, limit+1)):
    print("".join(perm))
一个
b
C
.
.
.
啊
抗体
交流
.
.
.
齐
Z Z

推荐阅读