首页 > 解决方案 > 创建分配给每个类实例的列表

问题描述

嘿,所以过去一周我一直在尝试编程,所以考虑到这一点,请给我的代码一些怜悯。

我对自己实际上在做什么几乎一无所知,但我想我正在尝试创建一个具有密码功能的员工类,该功能会为每个员工实例创建一个随机密码。我的问题是我不知道如何为每个员工实例创建一个密码字符串。我曾尝试创建一个“密码”列表,但这只是复制了随机密码。

这是我的代码:

import random
import string
alpha = (string.ascii_letters)

class employee:
    def __init__(self, name, passw):
        self.n = name
        self.pa =passw
        passw= []

    def password(self,name,diff):
        if name == self.n:
            print("successs")

        else:
            print("none found")

        if diff == 1:
            for i in range(5):
                passw.append((random.choice(alpha)))
        elif diff == 2:
            for i in range(7):
                passw.append((random.choice(alpha)))
        elif diff == 3:
            for i in range(10):
                passw.append((random.choice(alpha)))    

        else:
            return("please select an appropirate difficulty")

        return "".join(passw)


akki = employee("akki",passw)
akki.password("akki",2)

jane= employee("jane",passw)
jane.password("jane",2)

作为输出我得到:

successs
successs
'fChfnJixtmLmPmAKxOThSGqYXjJpCeEUhEwG'

关于如何为每个员工创建密码的任何想法?

标签: pythonclasspasswords

解决方案


要为每个员工创建一个新密码,只需在init () 函数中包含一些代码,该函数创建一个随机字符串并将其分配给类的属性。

当您需要访问密码时,只需访问该类实例的密码属性即可。

class employee():
    def __init__(self, name):
        self.name = name
        self.pwd = ''.join([random.choice(alpha) for i in range(10)])


jane = employee('jane')
print(jane.pwd)

推荐阅读