используя Sqlite3 для создания системы входа в систему и регистрации в Python - PullRequest
0 голосов
/ 05 сентября 2018

привет, я новичок в программировании. Я пытался сделать этот логин и зарегистрировать программу с использованием sqlite3 в первый раз. Как вы можете видеть, способ написания моих функций check_username неверен, потому что разрыв используется вне цикла. Не могли бы вы помочь мне перестроить мой код таким образом, чтобы не возникало никакой синтаксической ошибки. Любой совет будет очень полезным.

import re
import sqlite3


specialChar = ['$', '#', '@', '!', '*']
connection = sqlite3.connect("login_database.db")
cursor = connection.cursor()



def creat_table():
    cursor.execute("""CREATE TABLE IF NOT EXISTS Register
                   (username TEXT, password TEXT)""")
    connection.commit()

def insert_info(userN, passW):
    cursor.execute("INSERT INTO Register VALUES(?,?)", (userN, passW))
    connection.commit()

def check_username_taken(userN):
    while True:
        userN = input("create a username: ")
        cursor.execute("SELECT * FROM Register WHERE username=?", (userN,))
        fetch = cursor.fetchone()
        connection.commit()
        if fetch is not None:
            print("username taken")
        else:
            break

def check_username_exit(userN):
    cursor.execute("SELECT * FROM Register WHERE username=?", (userN,))
    fetch = cursor.fetchone()
    connection.commit()
    if fetch is not None:
        break
    else:
        print("username is not registered.")


print("1.Register \n2.Login \n3.exit")
while True:
    decision = input("What would you like to do? ")
    if decision == "1":
        while True:
            userN = input("create a username: ")
            check_username_taken()
        while True:
            passW = input("creat a password: ")
            if len(passW) < 6:
                print("Your password should at least contain 6 charcters.")
            elif re.search("[0-9]", passW) is None:
                print("Your password must contain at least one number.")
            elif re.search("[a-z]", passW) is None:
                print("Your password must contain at least one letter.")
            elif not any(c in specialChar for c in passW):
                print("Your password must contain at least one spcial character.")
            else:enter code here
                insert_info()
                print("Password is set!")
                break

    if decision == "2":
        while True:
            userN = input("Username: ")
            check_username_exit()
        x = 0
        while x !=1 :
            passW = input("Password: ")
            for key,val in list.items():
                if key == userN and val == passW:
                    print("logging in ...")
                    x = 1
                    break
                else:
                    print("wrong combination.")
                    break


    if decision == "3":
        print("\nEnd of the program!")
        exit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...