Python:创建登录系统

Python:创建登录系统,python,login,Python,Login,我想使用python创建一个登录系统 这是我正在做的一个小项目,我可以掌握python,并最终将其发送到我正在创建的网页 截至目前,我有以下信息: user = raw_input('Create Username: ') password = raw_input('Create Password: ') store_user =[roger, Jon] store_pass =[tennis, soccer] store_user.append(user) store_pass.append

我想使用python创建一个登录系统

这是我正在做的一个小项目,我可以掌握
python
,并最终将其发送到我正在创建的
网页

截至目前,我有以下信息:

user = raw_input('Create Username: ')
password = raw_input('Create Password: ')
store_user =[roger, Jon]
store_pass =[tennis, soccer]

store_user.append(user)
store_pass.append(password)

if user in store_user:
    print "That user already exsist"

while 1 == 1:
    userguess=""
    passwordguess=""
    key=""
    while (userguess != user) or (passwordguess != password):
        userguess = raw_input('User Name: ')
        passwordguess = raw_input('Password:')

    print "Welcome,",user, ". Type Lock to Lock or Type Create to create another user."
    print store_user
    print store_pass

    while key != "lock":
        key = raw_input("")
这使您可以创建用户名和密码,并将它们存储在列表中。 我加入了if语句来检查列表,看看用户是否已经存在(但我认为这不起作用)

我只是想要一点关于如何让整个事情循环的指导:例如,您选择是否登录,登录后您可以选择创建另一个,它将检查该用户是否已经存在


非常感谢

这是一个好的开始。我建议您签出:,使用字典之类的数据结构将大大简化此任务

要查看某个项目是否已经在列表中,可以对其进行迭代

for item in list:
    if input == item:
        # item is in list
        break
    # item is not in list
一种可能也有帮助的策略是将代码模块化为函数。例如,如果用户已注册,则可以使用check_name函数返回True:

def check_user(user, user_list):
    for item in list:
        if user == item:
            return True
            break
        return False
还有一些较短的方法可以做到这一点,例如:


当您最终在线服务您的项目时,请查看Django或Flask之类的框架,它们可以大大简化登录、管理用户等操作。祝您好运。

让我们一步一步来:

首先,检查用户是否存在总是会告诉您它存在,因为您正在添加用户,然后检查它是否存在。因此,您编写的if语句是可以的,但请将其放在
存储\ u user.append
之前:

if user in store_user:
    print "That user already exsist"
else:
    store_user.append(user)
    store_pass.append(password)
其次,当1==1:
时,您为
编写的条件是无用的(但仍然正确),您可以在1
时执行
(因为1的计算结果为True),或者在True:
时执行更好的

第三,用户名/密码检查只检查最后一个用户和密码。如果您将
userguess-in-store\u-user
用于密码,则不会得到预期的结果。所以,你需要使用字典而不是列表。有了这些,您可以将分配给。在您的情况下,用户需要输入密码,因此您将拥有:

store = dict()
# the code to get the user/password
store[user] = password # you "save" the value password for the key user

# then to check:
while not (userguess in store and store[userguess] == passwordguess):
   # try again
阅读更多有关词典的信息

然后,您可以将每个“逻辑”过程存储在一个函数中,以使代码更具可读性和可重用性。例如:

def add_user(store):
    user = raw_input('Create Username: ')
    password = raw_input('Create Password: ')
    if user in store:
        print "That user already exsist"
        return False
    else:
        store[user] = password
        return True

# and call this 10 times for example...
global_store = dict()
for i in range(10):
    add_user(global_store)
(更不用说使用类等) 对“检查密码”部分执行相同的操作,然后您可以使用您所做的循环进行一些更改来完成您所期望的操作


我希望我说得很清楚,并且我帮了忙:)

这可能不是你所期望的答案,但这里说的是:不要再发明轮子了


尽可能多地使用现有的工具,并专注于您无法免费获得的功能。

谢谢,老兄!是的,我又看了一遍,觉得这可能会更干净,我只是被一些东西弄得心神不宁。嗨,梅恩,这很好,我们都必须从某个地方开始,玩代码,找到自己的解决方案往往是最好的学习方式。你通常不会存储密码,更确切地说,它可以来自密码,并进行比较。另外,请参阅模块,它不会将密码回显到屏幕上。我通常只使用php,但我必须使用python为学校做一个项目。您建议使用哪些现有工具。在寻找已经存在的python用户系统时,我发现了这篇文章。有很多pyhton框架,比如web2py(我最喜欢的)、django等,它们已经处理了用户管理……感谢你为我指明了正确的方向!