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