Mar-05-2018, 01:39 PM
(This post was last modified: Mar-05-2018, 01:59 PM by sparkz_alot.)
Hi there! I am looking for help with a login system in python, It must contain an array and be able to save the details of users when registered. I have tried to use the array in the username part by making sure a number is in the username. I try to run this and it says my username doesn't include this number, even when it does. Im not sure where the fault lies. any help would be greatly appreaciated.
def CheckNumbers(NewUser):#This ensures that the user enters a number in their username
number = ['0','1','2','3','4','5','6','7','8','9'] #*ARRAY* of numbers stored.
for i in range(len(number)): #Checks for numbers in variable NewUser
if number[i] in NewUser:
print ("Username Accepted")#prints message
return NewUser
elif number[i] not in NewUser: #If number from array created is not in input, prints following msg.
print("Username is not strong enough, include a number!")
NewUser= input("Please enter a new username. Remember to include a number!") #Asks user to try again.
def LengthChecker(NewPassW): #This function makes sure password is long enough.
while len(NewPassW) < 8: #Checks if the password length is less the 8
print("Password is too short, it must be more than 7 characters!")
NewPassW = input("Please create a new password.") # asks user to enter password
print("Password created.")
return NewPassW #return new variable
def NewU(): #This Function creates new accounts for user
NewUser= input("Create new username name")#Asks user to create a new username
NewUser = CheckNumbers(NewUser)#calls function 'checknumbers'
if NewUser in users: #checks if user is already in direvtory
print("User already exists please try again.")
else: #If user is not already in directory
NewPassW = input("Create New Password") #Asks user to create password
NewPassW = LengthChecker(NewPassW) #Calls Lengthchecker function with passing parameter NewPassW
details(NewUser,NewPassW) #calls details function with passing parameter NewUser and NewPassW
print("Your Account has been created! Welcome", NewUser)
def OldU():#This function is if the user already has an account
user = input("Enter Your Username") #Asks user to type in their username
passW = input("Enter Your Password") #Asks user to type in their password
for line in open("LoginData.txt","r").readlines(): #Opens and reads the text file
LogData = line.split()
if user == LogData[0] and passW ==LogData[1]:
print("Login Successful!")
else:#if user does not exist
print("Incorrect username or password.")
def details(NewUser,NewPassW): #This is where all the created usernames and passwords are stored
Login = open("LoginData.txt","a+") # Creates or opens LoginData.txt file
Login.write(NewUser)
Login.write(" ") #Creats a space between username and password
Login.write(NewPassW)#writes data for new password
Login.write("\n")
Login.close #files closes
users = {} #User Dictionary
option = "" #Define global variable "Option"
while option != "Q": #Makes sure Q was not the input.
option = input("Welcome. Do you already have an account? Type 'Y' or 'N'.Type Q for quit ") #Prompt user to type in Y , N or Q
if option == "Y": #Checks for Y input
OldU() #goes to OldU Function
elif option == "N": #Checks for N input
NewU() # goes to NewU Function
