美文网首页
2019-01-23 Python——个人博客项目

2019-01-23 Python——个人博客项目

作者: 擎天小猪_45bb | 来源:发表于2019-01-23 11:20 被阅读0次

    import os, sys, time

    users = dict()

    articals = dict()

    def regist():

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t个人博客注册界面\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            uaerName = input("\t\t\t请输入账号(R/r键返回): ")

            if uaerName == 'R' or uaerName == 'r':

                break

            if uaerName in users:

                input("该用户已存在,重新设置...")

                continue

            passWord = input("\t\t\t请输入密码: ")

            confirm = input("\t\t\t请确认密码: ")

            if passWord != confirm:

                input("\t\t\t两次输入密码不同,任意键继续...")

                continue

            user = {"username": uaerName,"password": passWord,"nickname": "None"}

            users[uaerName] = user

            input("\t\t\t注册成功,任意键返回...")

            break

    def login():

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t个人博客登录界面\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            uaerName = input("\t\t\t账号(R/r键返回): ")

            if uaerName == 'R' or uaerName == 'r':

                break

            passWord = input("\t\t\t密码: ")

            if uaerName in users and users[uaerName]['password'] == passWord:

                print("\t\t\t登录中...")

                time.sleep(1)

                main(uaerName)

            else:

                input("\t\t\t账号或密码错误,请重新输入...")

                continue

    def modify(userName):

        result = False

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 修改登录密码 \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            oldpass = input("\t\t\t原密码(R/r键返回):")

            if oldpass == 'R' or oldpass == 'r':

                break

            if users[userName]['password'] != oldpass:

                input("\t\t\t原密码输入有误,任意键继续...")

                continue

            newpass = input("\t\t\t新密码:")

            confirm = input("\t\t\t确认密码:")

            if newpass != confirm:

                input("\t\t\t两次输入新密码不一致,任意键继续...")

                continue

            users[userName]['password'] = newpass

            input("\t\t\t修改密码成功,请重新登录...")

            result = True

            break

        return result

    def update(userName):

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 完善个人信息 \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            username = userName

            print("------------》\t\t\t用户名:{}".format(username))

            userpass = users[username]['password']

            nickname = input("------------》\t\t\t昵 称(R/r键退出):")

            if nickname == 'R' or nickname == 'r':

                input("------------》\t\t\t信息尚未完善,任意键退出...")

                break

            usersex = input("------------》\t\t\t性 别(R/r键退出):")

            if usersex == 'R' or usersex == 'r':

                input("------------》\t\t\t信息尚未完善,任意键退出...")

                break

            userage = input("------------》\t\t\t年 龄(R/r键退出):")

            if userage == 'R' or userage == 'r':

                input("------------》\t\t\t信息尚未完善,任意键退出...")

                break

            userhobby = input("------------》\t\t\t爱 好(R/r键退出):")

            if userhobby == 'R' or userhobby == 'r':

                input("------------》\t\t\t信息尚未完善,任意键退出...")

                break

            is_save = input("------------》\t\t\t是否保存(y/n)?")

            if is_save == 'y':

                user = {"username": username, "password": userpass, "nickname": nickname, "usersex": usersex, "userage": userage, "userhobby": userhobby}

                users.pop(username)

                users[username] = user

                print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

                input("------------》\t\t\t信息完善成功,任意键继续...")

            else:

                input("------------》\t\t\t信息尚未完善,任意键继续...")

            break

    def find(userName):

        os.system("cls")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        print("* ~ * ~ * ~ *\t\t\t  个人信息  \t\t\t* ~ * ~ * ~ *")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        print("------------》\t\t\t用户名:{}".format(userName))

        print("------------》\t\t\t昵 称:{}".format(users[userName]['nickname']))

        if 'usersex' in users[userName]:

            print("------------》\t\t\t性 别:{}".format(users[userName]['usersex']))

        if 'userage' in users[userName]:

            print("------------》\t\t\t年 龄:{}".format(users[userName]['userage']))

        if 'userhobby' in users[userName]:

            print("------------》\t\t\t爱 好:{}".format(users[userName]['userhobby']))

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        input("------------》\t\t\t任意键继续...")

    def main(userName):

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 个人博客主页  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t1. 个人资料维护\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t2. 文章数据维护\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t3. 注销登录  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t4. 退出系统  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            choices = input("\t\t\t请输入您的选择: ")

            choice = int(choices)

            if choice == 1:

                if info(userName):

                    break

            elif choice == 2:

                artical(userName)

            elif choice == 3:

                input("\t\t\t系统注销中...")

                break

            elif choice == 4:

                input("\t\t\t欢迎下次光临...")

                sys.exit(1)

            else:

                input("\t\t\t选项有误,按任意键重新输入...")

                os.system("cls")

                continue

    def info(userName):

        result = False

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 个人资料维护  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t1. 查看个人信息\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t2. 修改登录密码\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t3. 完善个人资料\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t4. 返回上一级  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            choices = input("\t\t\t请输入您的选择: ")

            choice = int(choices)

            if choice == 1:

                find(userName)

            elif choice == 2:

                res = modify(userName)

                if res:

                    result = res

                    break

            elif choice == 3:

                update(userName)

            elif choice == 4:

                break

            else:

                input("\t\t\t选项有误,按任意键重新输入...")

                os.system("cls")

        return result

    def artical(userName):

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 文章数据维护  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t1. 发表文章  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t2. 查看个人文章\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t3. 查看所有文章\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t4. 返回上一级  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            choices = input("\t\t\t请输入您的选择: ")

            choice = int(choices)

            if choice == 1:

                publish_artical(userName)

            elif choice == 2:

                personal_artical(userName)

            elif choice == 3:

                all_artical()

            elif choice == 4:

                break

            else:

                input("\t\t\t选项有误,按任意键重新输入...")

                os.system("cls")

    def publish_artical(userName):

        result = False

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t 发表博客文章 \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("------------》\t\t\t作者名:{}".format(userName))

            sum = ''

            artical_title = input("------------》\t\t\t文章标题(R/r键返回):")

            if artical_title == 'R' or artical_title == 'r':

                break

            sum += artical_title + "\n"

            for i in range(1, 50):

                i = input("\t\t文章内容(R/r键结束):")

                if i == 'R' or i == 'r':

                    result = True

                    break

                else:

                    sum += '-----》' + i + '\n'

            if result:

                if userName in articals:

                    articals[userName].append(sum)

                else:

                    group = list()

                    group.append(sum)

                    articals[userName] = group

                input("\t\t博客发表成功,任意键继续...")

                break

    def personal_artical(userName):

        os.system("cls")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        print("* ~ * ~ * ~ *\t\t\t 个人博客文章 \t\t\t* ~ * ~ * ~ *")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        if userName in articals:

            for a in articals[userName]:

                print("-----》", a)

            input("-----》任意键返回...")

        else:

            input("------------》\t\t\t用户尚未发表博客,任意键继续...")

    def all_artical():

        os.system("cls")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        print("* ~ * ~ * ~ *\t\t\t 所有博客文章 \t\t\t* ~ * ~ * ~ *")

        print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

        if len(articals.values()):

            for k, v in articals.items():

                for i in v:

                    print("-----》\t\t\t作者:{}".format(k))

                    print("-----》", i)

            input("-----》 任意键返回...")

        else:

            input("------------》\t\t\t未发现任何博客,任意键继续...")

    def index():

        while True:

            os.system("cls")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t欢迎进入个人博客\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t1. 登录个人博客\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t2. 注册个人账号\t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ *\t\t\t3. 退出系统  \t\t\t* ~ * ~ * ~ *")

            print("* ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ *")

            choices = input("\t\t\t请输入您的选择: ")

            choice = int(choices)

            if choice == 1:

                login()

            elif choice == 2:

                regist()

            elif choice == 3:

                input("\t\t\t客观走好...")

                sys.exit(1)

            else:

                input("\t\t\t选项有误,按任意键重新输入...")

                os.system("cls")

    index()

    相关文章

      网友评论

          本文标题:2019-01-23 Python——个人博客项目

          本文链接:https://www.haomeiwen.com/subject/ynqjjqtx.html