i am creating a system where it checks to see if a user has already claimed a username but when creating the account it asks for the username they want and then sends it back to the option screen to ask if they want to login or create an account.
def user_create():
f = open("users.txt", "a")
unique = 0
name = input("Enter a username: ")
with open("users.txt", "r") as file:
file_read = csv.reader(file)
filerow = 1
for row in file_read:
if row[0] == name:
print("This username is already taken, try another one")
file.close()
unique = False
break
else:
unique = True
filerow = filerow + 1
if unique == True:
file.close()
elif unique == False:
signin1()
else:
pass
if name.replace(" ", "").isalpha():
print("Name is valid")
else:
print ("Name is invalid")
user_create()
password = input("Enter a password: ")
f.write(name+","+password+",\n")
f.close()
print("Account created")
signin1()
output:
Enter a username: testuser
1. Login
2. Create
Which one would you like to do?
It is supposed to ask for the users password next but it seems to just skip half the code..
All login code:
def signin1():
print ("1. Login")
print ("2. Create")
choice = input("Which one would you like to do? ")
if choice == "1":
existence = os.path.exists("users.txt")
if existence == False:
print("There are no authorised accounts yet created")
signin1()
else:
mainsignin()
elif choice == "2":
user_create()
else:
print("Invaild choice")
signin1()
def user_create():
f = open("users.txt", "a")
unique = 0
name = input("Enter a username: ")
with open("users.txt", "r") as file:
file_read = csv.reader(file)
filerow = 1
for row in file_read:
if row[0] == name:
print("This username is already taken, try another one")
file.close()
unique = False
break
else:
unique = True
filerow = filerow + 1
if unique == True:
file.close()
elif unique == False:
signin1()
else:
pass
if name.replace(" ", "").isalpha():
print("Name is valid")
else:
print ("Name is invalid")
user_create()
password = input("Enter a password: ")
f.write(name+","+password+",\n")
f.close()
print("Account created")
signin1()
def mainsignin():
f = open("users.txt", "w")
f.close
with open("users.txt", "r") as file:
file_reader = csv.reader(file)
user_find(file_reader)
def user_find(file):
user = input("Enter your username: ")
filerow = 1
login = False
for row in file:
if row[0] == user:
print("Username found:", user)
user_found = [row[0], row[1]]
login = True
break
else:
filerow = filerow + 1
if login == True:
global user1
user1 = user
pass_check(user_found)
else:
print ("Could not find user with the name: "+str(user))
signin1()
def pass_check(user_found):
userpass = input("Enter your password: ")
if user_found[1] == userpass:
print("password match")
str(user_found)
game_login_user2()
else:
print("password does not match")
mainsignin()