【问题标题】:Issue on passwd generator密码生成器问题
【发布时间】:2021-08-19 03:35:11
【问题描述】:

我对生成密码的代码有疑问(代码如下)

from random import randint, choice

alphabet_min = [chr(i) for i in range(97, 123)]
alphabet_maj = [chr(i) for i in range(65, 91)]
chiffre = [chr(i) for i in range(48, 58)]
carac_spec = [chr(i) for i in range(33, 48)]


def pwd(n, min1=True, maj=True, chif= True, cs=True):
    alphabets = dict()
    key = 0
    if min1:
        alphabets[key] = alphabet_min
        key += 1
    if maj:
        alphabets[key] = alphabet_maj
        key += 1
    if chif:
        alphabets[key] = chiffre
        key += 1
    if cs:
        alphabets[key] = carac_spec
        key += 1

    mdp = ' '
    for i in range(n):
        clef = randint(0, key - 1)
        mdp += choice(alphabets[clef])

    return mdp

当我执行这个时,什么都没有出现

在 Internet 上查找代码,并且是 Python 代码的初学者。

有人知道这个问题吗?

【问题讨论】:

    标签: python-3.x random passwords generator


    【解决方案1】:

    最后代码在开头添加这个

    n = int(input('\nEntrer la longueur du Mdp '))
    

    底部有代码print(pwd(n))

    感谢您的帮助

    【讨论】:

      【解决方案2】:

      首先,你没有调用函数!要调用函数,请键入函数的名称,后跟参数。例如:

      def add(a, b):
          return a + b
      
      add(1, 2)
      

      但是还是有问题。如果您在 IDE、Google Colab 或 Jupyter notebook 中运行它,您可能会在控制台中看到3。但是,如果您在 replit.com、mu 或 python IDE 文件中运行它,则不会出现任何内容。现在,您需要致电print()。您的问题的解决方案是:

      from random import randint, choice
      
      alphabet_min = [chr(i) for i in range(97, 123)]
      alphabet_maj = [chr(i) for i in range(65, 91)]
      chiffre = [chr(i) for i in range(48, 58)]
      carac_spec = [chr(i) for i in range(33, 48)]
      
      
      def pwd(n, min1=True, maj=True, chif= True, cs=True):
          alphabets = dict()
          key = 0
          if min1:
              alphabets[key] = alphabet_min
              key += 1
          if maj:
              alphabets[key] = alphabet_maj
              key += 1
          if chif:
              alphabets[key] = chiffre
              key += 1
          if cs:
              alphabets[key] = carac_spec
              key += 1
      
          mdp = ' '
          for i in range(n):
              clef = randint(0, key - 1)
              mdp += choice(alphabets[clef])
      
          return mdp
      
      print(pwd(5))
      

      【讨论】:

        【解决方案3】:

        您没有打印任何内容。 您可以使用 print() 语句在控制台中显示内容 例如

        print("hello")
        

        表演

        hello
        

        在这种情况下,您想“打印” pwd 函数的返回值

        print(pwd(10))
        

        10 是第一个参数“n”,所以在这种情况下生成密码的长度,通过改变这个数字你会得到不同的长度。

        一般StackOverflow不是一个教程网站,请尝试自己学习语言基础知识,然后尝试google问题,如果google没有帮助,请在此处发布问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-03-09
          • 2022-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-24
          • 2011-06-02
          相关资源
          最近更新 更多