制作菜单实现投票系统:
功能实现点:
1.投票
2.查找候选人票数(通过列表内置count()统计元素重复出现次数功能)
3.查看所有候选人姓名
4.退出
candidates = [] # 存储候选人姓名的列表
while True:
print("欢迎使用投票系统!请选择以下操作:")
print("1. 投票")
print("2. 查看候选人票数")
print("3. 查看所有候选人姓名")
print("4. 退出")
choice = input("请输入要执行的操作的编号:")
if choice == "1":
name = input("请输入要投票的候选人姓名:")
if name in candidates:
index = candidates.index(name)
else:
candidates.append(name)
index = len(candidates) - 1
print("已成功给候选人“{}”投票!".format(name))
with open('votes.txt', 'a') as f:
f.write(str(index) + '\n')
elif choice == "2":
name = input("请输入要查看票数的候选人姓名:")
count = 0
with open('votes.txt', 'r') as f:
for line in f:
if int(line.strip()) == candidates.index(name):
count += 1
print("候选人“{}”共获得了{}票!".format(name, count))
elif choice == "3":
print("所有候选人姓名如下:")
for candidate in candidates:
print(candidate)
elif choice == "4":
print("感谢使用投票系统,再见!")
break
else:
print("您输入的操作编号不正确,请重新输入!")
这个投票系统将候选人的姓名存储在一个列表中,并将投票记录保存在一个名为votes.txt
的文本文件中。当用户选择“投票”操作时,程序将用户输入的候选人姓名与存储在列表中的候选人姓名进行比较。如果已经存在该候选人,则在列表中查找其索引;否则将其添加到列表末尾,同时其索引为列表长度减1。然后,程序将该候选人的索引写入votes.txt
文件。
当用户选择“查看候选人票数”操作时,程序将遍历votes.txt
文件并计算特定候选人的投票次数。计数完成后,程序将显示该候选人获得的总票数。
当用户选择“查看所有候选人姓名”操作时,程序将遍历列表并显示所有候选人的姓名。
最后,当用户选择“退出”操作时,程序将退出。