gpt4 book ai didi

python - 如何从 CSV 文件中检查用户名和密码。文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:21 25 4
gpt4 key购买 nike

这是我正在尝试做的一个学校项目,我们必须创建一个程序来询问用户他们是否已经拥有一个帐户。如果不是,他们将必须输入用户名,程序将必须检查用户名是否已被使用。

import csv

with open('accountdatabase.csv')as csvfile:
datareader = csv.reader(csvfile, delimiter=',')
for row in datareader:
print("###################################")

accountq = input("Do You Have An Account? Y/N: ")

create = "pending"
while create != "completed":
if accountq == "N":
print("Please Create An Account:")
print("")
username = input("Please Enter Your Username: ")
password = input("Please Enter A Password: ")
if row[0] == username:
print("Sorry Username Is Already Taken")
else:
print("Username Accepted")
create = "completed"
break

但是,在编写代码时,我遇到了一个逻辑错误,每当我添加一个新用户名时,它只会检查该行中的最后一个用户名,这意味着不会检查前一个用户名,这导致用户能够使用相同的用户名创建一个新帐户。

我仍然难以调用特定时期和行号的特定数据。

这就是我在 .csv 文件中构建数据的方式:

enter image description here

最佳答案

解析 csv 文件时只保留用户名列表:

import csv

usernames = []
with open('accountdatabase.csv')as csvfile:
datareader = csv.reader(csvfile, delimiter=',')
for row in datareader:
usernames.append(row[0])

.....

if username in usernames:
print("Sorry Username Is Already Taken")

这种方法将名称保存在内存中。这不是完全可扩展的,因为它使用大量内存(O(N) 空间)。您也可以重新读取 csv,如果您遇到用户名,则退出,但这将花费 O(N) 时间。这两种方法都不是真正可扩展的。但是这两种解决方案都适用于该项目。我建议将它们保存在内存中,因为这是一个小项目,上面的代码就是这样做的。

关于python - 如何从 CSV 文件中检查用户名和密码。文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58382629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com