在线投票系统-字典方式编写

#_author:"yongjia"
#Time : 2019/4/14 19:57

dict_1={}
dict_2={}
list=()
msg_0='''
在线投票系统已经开启。
---------------------
如果发现候选人填错,可以输入dalete来删除上一个填入的候选名
'''

msg_1="-----------\n投票内置命令如下:\n1.stop:结束投票\ndelete_last:删除上一条投票\n3.clear:删除所有投票"


def main_add_Candidate(c=0):#添加候选人。c=0给候选人票数赋初始值
    add_1=input("输入候选人名字>>>")
    dict_1[add_1]=c
    choice=input("成功添加,是否继续添加。(delete.删除这次输入的候选人)>>>")
    if choice=="":
        main_add_Candidate()
    elif choice=="":
        print("------------\n本次的投票人是:")
        print_Candidate()
        print(msg_1)
        input_vote()
    elif choice=="delete":
        del dict_1[add_1]
        main_add_Candidate()

def print_Candidate():#显示候选人
    for i,v in enumerate(dict_1,1):
        print("{num}.{name}".format(num=i,name=v))
        dict_2[i]=v

def vote_end():  # 投票结果,显示结果
    a = sorted(dict_1.items(), key=lambda b: b[1], reverse=True)
    for n, i in enumerate(a, 1):
        print("第{n}名是{name}\t,票数{num}".format(name=i[0], num=i[1], n=n))

def input_vote(a=0):#选择投票或者命令
    choice_people_cmd=input("输入命令或者投票给:>>>")
    if choice_people_cmd.isdigit():
        choice_people_cmd=int(choice_people_cmd)
    for i_1, v_2 in dict_2.items():#判断是否为投票,和删除投票
        if choice_people_cmd == i_1:
            dict_1[v_2] = dict_1[v_2] + 1
            print("投票({name})成功".format(name=v_2), end="")
            print("【任意键:继续,stop:结束,help:查看命令,stats:查看当前票数】")
            input_vote(a=i_1)
        if choice_people_cmd == "delete_last" and a==i_1:
                if dict_1[v_2] == 0:
                    print("票数为0 不可删除")
                else:
                    dict_1[v_2] = dict_1[v_2] - 1
                    print("以删除成功")
    if choice_people_cmd=="stop":
        vote_end()
    elif choice_people_cmd=="help":
        print(msg_1)#命令
    elif choice_people_cmd=="stats":
        print(dict_1)
    elif choice_people_cmd=="clear":
        dict_1.clear()
        print("已清空所有投票信息")
        main_add_Candidate()
    else:
        input_vote()

print(msg_0)
main_add_Candidate()

 

posted @ 2019-05-03 16:45  开飞机的舒克-  阅读(182)  评论(0)    收藏  举报