如何在python中使用chr和ord返回int和数字?

如何在python中使用chr和ord返回int和数字?,python,python-3.x,Python,Python 3.x,我对这很陌生,所以可怜可怜我那愚蠢的灵魂吧 如果您想返回一个两字符的.com,其中包含一个字符串、一个字符串和一个字符串,以及一个字符串和一个int,即:ab.com和a7.com,您会怎么做 我一直在看其他代码,我真的得到了日语字符返回 while letter1 <= 'z': # Outer loop letter2 = 'a' while letter2 <= 'z': # Inner loop print('%s%s.com' % (letter1,

我对这很陌生,所以可怜可怜我那愚蠢的灵魂吧

如果您想返回一个两字符的.com,其中包含一个字符串、一个字符串和一个字符串,以及一个字符串和一个int,即:ab.com和a7.com,您会怎么做

我一直在看其他代码,我真的得到了日语字符返回

while letter1 <= 'z': # Outer loop
letter2 = 'a'
   while letter2 <= 'z': # Inner loop
        print('%s%s.com' % (letter1, letter2))
        letter2 = chr(ord(letter2) + 1)
        letter1 = chr(ord(letter1) + 1)

letter2应该返回字母a-z或数字,但它只返回字母1为“aa、bb、cc等”的内容。

听起来您需要的基本上是一个与regex[a-z0-9][a-z0-9]匹配的所有域的列表

摆弄ASCII字符值可能是实现这一点的一种方法,但我认为尝试这样的方法会更符合Python的风格:

import string
for letter1 in string.ascii_lowercase+string.digits:
  for letter2 in string.ascii_lowercase+string.digits:
     print('%s%s.com' % (letter1, letter2))

如果我了解您在寻找什么,您可以使用itertools.product生成以下内容:

首先,生成你的字母表。为此,我将使用alphabet=string.ascii_lowercase+string.digits,换句话说,a-z和0-9

如果我说:listitertools.productalphabet,repeat=2,我们就开始得到我们想要的:

[('a', 'a'), ('a', 'b'), ('a', 'c'), ('a', 'd'), ('a', 'e'), ('a', 'f'), ('a', 'g'), ...]
例如,您的整个代码可能如下所示:

def domain_generator(alphabet, length, suffix):
    for first, second in itertools.product(alphabet, repeat=length):
        yield '{}{}.{suffix}'.format(first, second, suffix=suffix)
您现在可以使用以下命令在域生成器上迭代:

for domain in domain_generator(string.ascii_lowercase + string.digits, 2, 'com'):
    print(domain)

什么这毫无意义。听起来你可能有缩进问题,但我不知道你所说的int和数字或string和string-and-a-string以及string和int是什么意思。你不应该在内部while-loop中增加letter1。正如@michaelbutscher所说,你需要缩进增加字母1的行。我的措辞像狗屎一样,但我基本上需要返回aa.com bb.com cc.com a7.com a4.com a9.com等。我只是不知道如何让字母2返回字母或数字1-9。谢谢你的详细回复。这是一个部分谜题,但其中没有任何代码可以真正更改。我只能添加使letter2返回int 1-9或字母所需的内容。所以结果会是类似aa.com或a9.com的东西。差不多吧。