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

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()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容